私はユーザーのリストを私に与えるためにADに対してクエリを実行しようとしています。私たちの組織より。タグ "LastName、FirstName"をコンピュータオブジェクトの説明フィールドに追加し、ユーザごとに割り当てられたマシンもリストしたいと考えています。これは私がこれまで持っているものです。Powershellは動的に要素を配列に追加します
$ADGroup = "SomeADGroup"
$UserList = Get-ADGroupMember -Identity $ADGroup -Recursive `
| Select SamAccountName `
| foreach-object {(Get-ADUser -Identity $_.SamAccountName `
| Select @{n='AssignedUser';e={$_.Surname + ", " + $_.GivenName}}).AssignedUser}
$Results = New-Object System.Collections.Generic.List[System.Object]
foreach ($User in $UserList)
{
$MachineList = @(((Get-ADComputer -Filter "Description -like `"*$User*`"" | Select Name).Name) -join $_ + ",").ToUpper()
foreach ($Machine in $MachineList)
{
$Results +=
@{
'User' = $User
'Machine' = $Machine
}
}
}
$Results | ForEach-Object { [pscustomobject] $_ } | Format-Table
結果はこのようなものである:それは、各ユーザに割り当てられた複数のマシンを持つことが可能ですので、私は方法を把握しようとしている
User Machine
---- -------
White, Scott W107175
Jones, Henry W107195
Flinstone, Fred L109531,W108812
アレイに「列」を動的に追加して、各マシン名要素が列に存在するようにします。最終的にCSVへのエクスポートが容易になります。私は、このような出力を探しています:
User Machine Machine2
---- ------- -------
White, Scott W107175
Jones, Henry W107195
Flinstone, Fred L109531 W108812
任意の助けをいただければ幸いです。
ありがとうございました!私は今日後でこれをテストします。配列の最初のユーザーの空の列に戻って追加するといいですね。おそらくそれを捕まえたことはないでしょう。 –