Loops Powershell循环处理输出中的多个AD用户
我在下面构建了一个特定的active directory用户详细信息及其组 如果仅返回一个用户,则此操作正常;如果返回多个用户,则此部分出现错误:Loops Powershell循环处理输出中的多个AD用户,loops,powershell,active-directory,Loops,Powershell,Active Directory,我在下面构建了一个特定的active directory用户详细信息及其组 如果仅返回一个用户,则此操作正常;如果返回多个用户,则此部分出现错误:“get ADPrincipalGroupMembership$user.samaccountname | select name” 我一直在寻找循环的方向,但还没有找到解决方案 我需要显示找到的每个用户及其组。 我计划使用此脚本快速收集信息以解决用户问题 谢谢你的阅读 add-pssnapin quest.activeroles.admanageme
“get ADPrincipalGroupMembership$user.samaccountname | select name”
我一直在寻找循环的方向,但还没有找到解决方案
我需要显示找到的每个用户及其组。
我计划使用此脚本快速收集信息以解决用户问题
谢谢你的阅读
add-pssnapin quest.activeroles.admanagement
import-module activedirectory
clear-host
$name = read-host 'Whats the name ?'
$user = Get-qAduser $name -properties *
$user | select name,SamAccountName,AccountIsLockedOut,PasswordStatus,PasswordLastSet,PasswordExpires,email,ParentContainerDN,CreationDate | format-list
Get-ADPrincipalGroupMembership $user.samaccountname | select name
cmd /c pause | Out-Null
假设您要返回一个列表,然后使用
foreach
对列表进行迭代:
add-pssnapin quest.activeroles.admanagement
import-module activedirectory
clear-host
$name = read-host 'Whats the name ?'
$users = Get-qAduser $name -properties *
foreach ($user in $users) {
$user | select name,SamAccountName,AccountIsLockedOut,PasswordStatus,PasswordLastSet,PasswordExpires,email,ParentContainerDN,CreationDate | format-list
Get-ADPrincipalGroupMembership $user.samaccountname | select name
}
基本上,
$user | ForEach对象{}
。要在循环中引用$user
集合的当前元素,请使用$\uuu
对象。还有一件事:-properties*
将从域控制器中提取大量内容。为了更快的性能,请只指定您真正要使用的属性。您可以发布您得到的错误吗?很难确定foreach是没有错误的正确解决方案。这很有效,谢谢,唯一的问题是。。。组输出位于底部,而不是每个用户帐户的下方,因此我们只在末尾看到组列表,但不知道哪个组与哪个帐户匹配。name@Confuseis我更新了我的答案,以反映你的评论,太好了。格式列表导致了一个错误,所以我删除了它。输出被混合在一起,所以我添加了一个写主机“----------”以插入一行来分隔输出。现在,这是一种获取用户信息的快速方法。谢谢你的帮助,谢谢