目标 :为OU中的每个用户创build一个for或foreach循环来执行一些代码(在这种情况下,只是打印x)。 我使用PowerShell 2.0和ActiveDirectory模块。
到目前为止 :这是我的(见下文)。 它只是打印出每个用户的X. 但它不是我想要的,而是我认为它可能是为了每一行。 所以我得到了6个X的'名字','—-','test1','test2',空格,空格。
$pool = Get-ADUser -Filter * -SearchScope Subtree -SearchBase "OU=Test,OU=Users,OU=jack,DC=Corp,DC=jill,DC=com" -Properties name | FT name foreach ($user in $pool ) { write-host "x"} $pool
结果 ,SPACE将以句点(。)表示:
x x x x x x name ---- test1 test2 . .
我不知道为什么这样做。 如果您有更好的方法来处理这个问题,我会很高兴听到这个消息。
您的$pool
将包含Format-Table name
的输出,这是第一行的最后一步。 Format-*
cmdlet用于在屏幕上显示值。 你几乎肯定不想把一个格式化的表格喂给你的foreach
循环。
$pool = Get-ADUser -Filter * -SearchScope Subtree -SearchBase "OU=Test,OU=Users,OU=jack,DC=Corp,DC=jill,DC=com" foreach ($user in $pool) { Write-Host "x" } # And if you really want to see an `ft $pool`: $pool | Format-Table name