繁体   English   中英

从子域中的所有ServiceAccounts OU获取帐户

[英]Obtain accounts from all ServiceAccounts OU's across child-domains

我的任务是提供跨多个域的所有服务帐户的列表,但是只会从主域接收帐户或获得“从服务器返回的推荐”

如果我运行下面的代码,它将从主域返回服务帐户,但不返回子域。 如果我编辑代码并手动放入其中一个子域,它将返回“从服务器返回引用”错误。 我尝试使用全局编录服务器和端口(3268)作为服务器,但仍然出现“引用”错误。 我对PowerShell比较陌生,所以如果我遗漏了你非常需要的任何信息,我会在前面道歉。

$domains = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() | Select Domains

ForEach($domain in $domains.Domains){
    $ous = (Get-ADOrganizationalUnit -Filter "Name -like 'ServiceAccounts'" -Server ($domain.Name) -SearchScope Subtree)    
}

$ous | ForEach-Object{Get-ADUser -Filter * -SearchBase $_.DistinguishedName} | Select SamAccountName | Export-Csv c:\temp\service.csv

基本上我需要找到所有名为“ServiceAccounts”的OU,并将每个用户的用户从主域和子域导出到csv文件。 请帮忙,谢谢!

您每次循环运行时都会覆盖$ous ,此外您还需要将相应的Server参数传递给Get-ADUser

将它foreach(){}循环中:

$domains = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() | Select Domains

$users = foreach($domain in $domains.Domains){
    $ous = Get-ADOrganizationalUnit -Filter "Name -like 'ServiceAccounts'" -Server $domain.Name -SearchScope Subtree
    foreach($ou in $ous){
        Get-ADUser -Filter * -SearchBase $ou.DistinguishedName -Server $domain.Name |Select SamAccountName,@{Name='Domain';Expression = {$domain.Name}}
    }
}

$users | Export-Csv c:\temp\service.csv

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM