2017-04-11 12 views
0

に記録されます私は PowerShellのは、Active DirectoryのユーザーOU

OU=offic-Computers,OU=comp-computers,DC=my,DC=company,DC=com

MY-OU.txt

と呼ばれる含むテキストファイルを持っている私は、そのOU内のすべてのコンピュータのリストを取得することができます。

ForEach ($OU in Get-Content "C:\temp\MY-OU.txt") 
{ 
Get-ADComputer -SearchBase $OU -Filter '*' | Select -Exp Name | Out-File -filepath "C:\temp\MY-OU-computers.txt" 
} 

そして私は、現在は上記のコードの出力からユーザーがログオンして取得することができます。

$content = Get-Content C:\temp\MY-OU-computers.txt 
$output = foreach ($PC in $content) {Get-WmiObject –ComputerName $PC –Class Win32_ComputerSystem | Select-Object UserName} 
$output | Out-File -filepath "C:\temp\CAD-OU-computers-users.txt" 

どのように両方の部品を組み合わせて取得します特定のOUに現在ログオンしているユーザーですか?

答えて

0

代わりに、ファイルへのGet-ADComputerから結果を出力するので、あなたがあなたの次のforeachループの入力としてそれを使用、変数($Computers)に割り当てることができます。

foreach ($OU in Get-Content "C:\temp\MY-OU.txt"){$Computers += Get-ADComputer -SearchBase $OU -Filter '*' | Select -ExpandProperty Name} 

$output = foreach ($PC in $Computers) {Get-WmiObject –ComputerName $PC –Class Win32_ComputerSystem | Select-Object UserName} 
$output | Out-File -filepath "C:\temp\CAD-OU-computers-users.txt" 
+0

は@James C.ありがとう – Eric

関連する問題