我有点像一个新手,自我教导自己的角色扮演IAM角色。我被要求进行终止测试,创建一个powershell脚本来检查用户列表是否存在于提供的域列表中,并输出包含其给定名称,姓氏,服务器,存在,已启用和的用户的csv。帐户ID。这是我到目前为止所拥有的。当每个用户输出的第一个,以及设置适当的输出时,我在分裂上摸索。非常感谢任何帮助!
{{1}}
答案 0 :(得分:1)
Chris,从你的脚本中不清楚$ FirstName和$ LastName变量来自哪里?它们是$ Users变量的属性吗?它不清楚你在哪里导入它们。
如果我认为它们是users变量的属性,你可以尝试这样的事情:
$servers = ".\serverlist.txt"
$users = ".\userlist"
$outfile = ".\findings.csv"
$results = Foreach ($server in $servers) {
Foreach ($user in $users) {
$FirstName = $user.FirstName
$LastName = $user.LastName
$User = Get-ADUser -Server $server -Filter "GivenName -like '$FirstName*' -and Surname -like '$LastName*'" -properties name,givenname, sn,enabled |Select-Object -Property name,givenname, sn,enabled
If(-Not($user))
{
[pscustomobject]@{
FirstName = $FirstName
LastName = $LastName
Server = $server
Present = $false
}
}
Else
{
[pscustomobject]@{
FirstName = $FirstName
LastName = $LastName
Server = $server
Present = $false
}
}
}
}
$results | Export-Csv -NoTypeInformation -Path $outfile
答案 1 :(得分:0)
由于您需要检查用户是否存在于"域"中。你为什么要使用" Servers.txt" - 它包含域信息或服务器信息吗?