Files
Backup/_NDGOV_WindowsTeam/ITD.Infra-ActiveDirectory.Object/UD_PSU/NewITDADServiceAccountRequest.ps1
T
Zack Meier 1d304511b8 update
2026-04-15 15:45:50 -05:00

49 lines
3.1 KiB
PowerShell

New-UDApp -Title 'SyncVMwareVMtoSharePoint' -Pages @(
New-UDPage -Name "Home" -Content {
New-UDForm -Content {
New-UDTypography -Text 'Enter the information below (all fields required) and click the Submit button'
New-UDRow -Columns {
New-UDColumn -SmallSize 6 -LargeSize 6 -Content {
New-UDTextbox -Label 'RequestedForEmail' -Id RequestedForEmail
New-UDTextbox -Label 'ADDomain' -Id ADDomain
New-UDTextbox -Label 'SamAccountName' -Id SamAccountName
New-UDTextbox -Label 'Description' -Id Description
New-UDTextbox -Label 'PasswordstateList' -Id PasswordstateList
New-UDTextbox -Label 'PasswordstateTitle' -Id PasswordstateTitle
}
}
} -OnValidate {
$FormContent = $EventData
if ($EventData.RequestedForEmail -eq $null -or $EventData.RequestedForEmail -eq '' -or $EventData.ADDomain -eq $null -or $EventData.ADDomain -eq '' -or $EventData.SamAccountName -eq $null -or $EventData.SamAccountName -eq '' -or $EventData.Description -eq $null -or $EventData.Description -eq '' -or $EventData.PasswordstateList -eq $null -or $EventData.PasswordstateList -eq '' -or $EventData.PasswordstateTitle -eq $null -or $EventData.PasswordstateTitle -eq '') {
# ('Office365', 'VMware_Systems', 'CSRC', 'Shared Linux Password List', 'Peoplesoft Share PW', 'Cohesity', 'VDI')
New-UDFormValidationResult -ValidationError "All fields are required."
}
else {
if ($FormContent.ADDomain -ne 'nd.gov') {
New-UDFormValidationResult -ValidationError "Only nd.gov ADDomain is supported at this time."
}
else {
If (@('Office365', 'VMware_Systems', 'CSRC', 'Shared Linux Password List', 'Peoplesoft Share PW', 'Cohesity', 'VDI') -notcontains $EventData.PasswordstateList) {
New-UDFormValidationResult -ValidationError "PasswordstateList must match one of the following: VMware_Systems, Cohesity, VDI, Office365, CSRC, Shared Linux Password List, Peoplesoft Share PW"
}
}
New-UDFormValidationResult -Valid
}
} -OnSubmit {
$InvokePSUScriptParams = @{
Script = 'New-ITDADServiceAccountRitm_script.ps1';
RequestedForEmail = $EventData.RequestedForEmail
ADDomain = $EventData.ADDomain
SamAccountName = $EventData.SamAccountName
Description = $EventData.Description
PasswordstateList = $EventData.PasswordstateList
PasswordstateTitle = $EventData.PasswordstateTitle
}
$InvokePSUScriptResult = Invoke-PSUScript @InvokePSUScriptParams -Wait
Show-UDToast -Message ("ServiceNow Request " + $InvokePSUScriptResult.number + " created on behalf of $User" ) -Duration 100000
}
}
)