Отключить хэш-результат? - PullRequest
1 голос
/ 22 апреля 2019

Я уверен, что это может быть действительно простой ответ, который ускользает от меня, но я уже довольно долго играл с этим кодированием, и мне нужно отформатировать его более удобным для пользователя способом.

Вот код:

$OU1 = 'CN=MbrshpOU, OU=Group, DC=place,DC=com'

Write-Host "Select user:"

$UName=Get-ADGroupMember -identity "$OU1" | Select sAMAccountName | Out-GridView -PassThru
$UserName = $UName 

--Using this displays nothing in the Write-Host below: $UserName = ($UName).sAMAccountName

Write-Host ""
Write-Host " The user is: " -NoNewline;
Write-Host -ForegroundColor Green $UserName -NoNewline;
Write-Host " is this correct? Y/N " -NoNewline

(Choice code follows)

Вот что сейчас происходит:

"Пользователь: @ {sAMAccountName = first.last} это правильно? Да / Нет>"

Что мне нужно, это:

"Пользователь: first.last это правильно? Да / Нет>"

Идеи

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Я вижу, что вы получили ответ, но вот еще один способ попробовать это ...

Get-ADGroupMember -Identity $(Get-ADOrganizationalUnit -Filter '*' | 
Select-Object -Property Name, DistinguishedName | 
Out-GridView -PassThru -Title 'Select a Organizational Unit to see the users in that OU').Name | 
Select-Object -Property Name, SamAccountName | 
Out-GridView -PassThru -Title 'Select a username to review' 
Read-Host -Prompt 'The user is displays as: first.last. Is this correct? Y/N >'

... все OGV, управляемое, без записи- * необходимо.

0 голосов
/ 22 апреля 2019
$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
...