$OU1 = 'CN=Disabled Users,OU=SecurityGroups,OU=Groups,OU=Production,DC=ad,DC=evotec,DC=xyz'
Write-Host "Select user:"
$UName = Get-ADGroupMember -identity "$OU1" | Get-ADUser -Properties GivenName, SurName | Out-GridView -PassThru
$UserName = $UName
Write-Host ""
Write-Host " The user is: " -NoNewline;
Write-Host -ForegroundColor Green ("$($UserName.GivenName) $($UserName.SurName)") -NoNewline;
Write-Host " is this correct? Y/N " -NoNewline
Моя версия с использованием Write-Color (мой модуль PowerShell):
$OU1 = 'CN=Disabled Users,OU=SecurityGroups,OU=Groups,OU=Production,DC=ad,DC=evotec,DC=xyz'
Write-Host "Select user:"
$UName = Get-ADGroupMember -identity "$OU1" | Get-ADUser -Properties GivenName, SurName | Out-GridView -PassThru
$UserName = $UName
Write-Color -LinesBefore 1 -Text "The user is: ", "$($UserName.GivenName) $($UserName.SurName)", ". Is this correct? Y/N" -Color White, Green, White
Вам нужно знать, что Get-ADGroupMember
имеет ограниченный набор свойств.Это означает, что вам нужно использовать Get-ADuser
, чтобы получить недостающие свойства, которые вам нужны.
Я бы посоветовал использовать Write-Color для отображения, так как намного проще играть с такими сценариями, которые вы используете.Вот ссылка: https://github.com/EvotecIT/PSWriteColor
Конечно, я предполагаю, что вы хотите Имя и Фамилия.Если вы просто хотите SamAccountName, это намного проще.
$OU1 = 'CN=Disabled Users,OU=SecurityGroups,OU=Groups,OU=Production,DC=ad,DC=evotec,DC=xyz'
Write-Host "Select user:"
$UName = Get-ADGroupMember -identity "$OU1" | Out-GridView -PassThru
$UserName = $UName
Write-Color -LinesBefore 1 -Text "The user is: ", $UserName.SamAccountName, ". Is this correct? Y/N" -Color White, Green, White
Или в случае вашего кода:
$OU1 = 'CN=Disabled Users,OU=SecurityGroups,OU=Groups,OU=Production,DC=ad,DC=evotec,DC=xyz'
Write-Host "Select user:"
$UName = Get-ADGroupMember -identity "$OU1" | Get-ADUser -Properties GivenName, SurName | Out-GridView -PassThru
$UserName = $UName
Write-Host ""
Write-Host " The user is: " -NoNewline;
Write-Host -ForegroundColor Green $UserName.SamAccountName -NoNewline;
Write-Host " is this correct? Y/N " -NoNewline