我想创建一个powershell脚本,用于检查active directory中用户所属的安全组的用户配置文件。然后我想把它写到一个文件中。我在解决这个问题上有困难。
预期输出的示例。
User1
安全组
域用户域管理员...
User2
安全组
域用户企业管理员
New-Item "$home\Desktop\GroupsMembers-list $(get-date -f dd-MM-yyyy).txt"
$users = @("User1", "User2", "User3", "User4")
foreach ($user in $users){
Get-ADPrincipalGroupMembership $user | sort name | select name | Out-File "$home\Desktop\GroupsMembers-list $(get-date -f dd-MM-yyyy).txt"
}发布于 2019-05-28 17:19:30
我想你可以用它变得更有创意,但这对你来说肯定是有效的:
$users = @("user1","user2")
foreach ($user in $users){
$groups = Get-ADPrincipalGroupMembership $user | Where-Object {$_.GroupCategory -eq "Security"} | Sort-Object Name | Select-Object -ExpandProperty Name
Add-Content -Path C:\path\to\file.txt -Value @"
$user
Security Groups
----------------------------
"@
foreach ($group in $groups){
Add-Content -Path C:\path\to\file.txt -Value $group
}
}输出如下所示:
user1
Security Groups
----------------------------
Administrators
Domain Admins
user2
Security Groups
----------------------------
Administrators
Domain Admins发布于 2019-05-28 17:12:37
我想应该是这样的:
$users = @("User1", "User2", "User3", "User4")
$file= "$home\Desktop\GroupsMembers-list $(get-date -f dd-MM-yyyy).txt"
""| Out-File $file; #Clear content of file
foreach ($user in $users){ ""| Out-File -Append $file; #Add a new line
"$User is in Security groups:"| Out-File -Append $file; # making a Title
"---------------------------------"| Out-File -Append $file; # making a Title
Get-ADPrincipalGroupMembership $user | sort Name | ft -HideTableHeaders Name | Out-File -Append $file #Writing data
}每次运行脚本时,txt文件都会被替换。
https://stackoverflow.com/questions/56338457
复制相似问题