Я относительно не знаком с сценариями PowerShell и в основном собирал разные скрипты и командлеты из Google, что я пытаюсь сделать. Одна из проблем, которые я не могу выполнить Google, или поиск на StackExchange, из-за специальных символов, имеет все мои результаты, полученные как @ {ColumnName = ColumnData}.Удалить @ {ColumnName из результатов Powershell
Вот пример сценария, который я нашел где-то, чтобы вытащить всех членов группы AD.
$Groups = Get-ADGroup -Filter {Name -like "!GroupName"}
$path = $groups
$myCol = @()
ForEach ($Group in $Groups)
{
$Members = @(Get-ADGroupMember "$Group")
ForEach ($Member in $Members){
try{
$user = get-aduser -identity $member -properties displayname
$MyObject = New-Object PSObject -Property @{
Displayname = $user.Displayname
}
$mycol += $MyObject}
catch {}}
}
Write-Host $MyCol | FL
Я довольно уверен, что есть более эффективные способы, чтобы получить член группы в AD, но это не проблема на данный момент. Проблема заключается в том, что все данные выходят, как @ {Displayname = Lawrence, Kimberly}, и это происходит со многими сценариями, которые я выбрасывал вместе.
Любые идеи о том, как правильно писать сценарии, чтобы я мог просто получить DisplayName = Lawrence, Kimberly?
Благодарим вас за разъяснение PSCustomObjects и хэш-таблиц. Поскольку я столкнулся с этой проблемой с различными сценариями, ваш ответ - это информация, которую я ищу больше, чем решение этого конкретного кода. Речь идет только об использовании write-host, который мешает им отображать то, что я хочу, или мне нужно сохранить данные по-другому, прежде чем отображать его? – user2516896
@ user2516896 'Write-Host' отлично подходит для основной строки и раскраски. Если у вас есть объект и вы хотите, чтобы информация _display_ отображалась на экране, может помочь помощь в командлетах 'Format-'. '$ MyCol | FL' самостоятельно может работать. Вне этого это сводится к потребностям и предпочтениям. Один размер не подходит для всех. – Matt