0

PowerShell 5.1 を使用して、Active Directory からコンピューターのリストを反復処理していますが、単純にする必要があることに苦労しています。

以下のコードでは、foreach ループで各コンピューターの名前と説明を選択しています。ループ内で名前と説明を個別に参照するにはどうすればよいですか?

    $OU=@('OU=...') 
    $computers = $OU | foreach {Get-ADComputer -filter {
    Name -notlike 'xxx*' 
    -and Name -notlike 'yyy*' 
    } -searchbase $_  -Properties description | Select name, description }
 
    foreach ($computer in $computers) {
      $computerName = $computer | select -ExpandProperty name
      $computerDescription =  $computer | select -ExpandProperty description
      Write-Host "Host: $computerName [$computerDescription]"
    }

を使用して動作させることができましたselect -ExpandPropertyが、これは不必要に複雑に思えます。$computer 変数は、次のようなキーと値のペアを保持します。

@{name=ABCDE12345; description=Kiosk PC [Domain Separated]}

ドット表記を使用してみ$computer.name $computer.descriptionましたが、ドットは無視され、テキストとして扱われました。

これをグーグルで検索してみましたが、PowerShell は初めてで、質問の言い方がわかりません。

4

1 に答える 1