虽然在 Linux 上很容易,但就我目前收集到的信息来看,在 Windows 上就不那么容易了。我找到了一个可以满足我要求的命令:
net user username /domain
但是我希望删除除组列表之外的所有数据。我认为 findstr 可能是答案,但我不确定如何使用它来做到这一点。本质上,我猜脚本会做这样的事情(除非有更具体的命令,那会很棒):
net user username /domain > temp.txt
findstr (or some other command) file.txt > groups.txt
del temp.txt
数据的输出将是如下列表:
group1; group2; group3
现在,我可以用一种复杂的方式来解决这个问题,正如我提到的,如果有一个命令可以只输出用户的安全组,那就太好了。
多谢你们!
注意:以超级用户的身份询问了这个问题,但发现这个网站可能更合适。
答案1
不确定这是否是您要寻找的类型,但我在 Windows Server 2003(成员服务器,而不是 AD DC)上执行了此操作:
dsquery user -name "My Full Name" | dsget user -memberof | dsget group -samid
这将逐行打印出我所属组的列表(不以分号分隔)。
如果您想要更高级的功能,可以使用 VBScript。如果您想要一个示例,请告诉我,我可以尝试找到一些。
答案2
最好将其作为 LDAP 查询执行,然后使用 net 命令 http://technet.microsoft.com/en-us/library/aa996205(EXCHG.65).aspx
或者有 ADSI
http://msdn.microsoft.com/en-us/library/windows/desktop/aa772170(v=vs.85).aspx
但这可能对你追求的目标来说太过分了