我想要与所有本地用户及其相关群组(用户,超级用户,管理员等)进行报告.
我以这种方式得到用户:
$adsi = [ADSI]"WinNT://."
$adsi.psbase.children | where {$_.psbase.schemaClassName -match "user"} | select @{n="Name";e={$_.name}}
但我不知道如何检索他们的团体.提前致谢.
我试图找出如何检测用户是否在Windows XP下运行管理员权限.由于whoami命令,这在Vista/Win7中相当容易.这是Ruby中的一个片段,介绍如何在Vista下执行此操作:
注意,以下链接现在包含muteW建议的解决方案
麻烦的是,whoami不附带Windows XP,因此即使我们以管理员身份运行,上面链接的方法也会在WinXP上返回false.
那么,是否有人知道如何使用Ruby,命令行工具,批处理文件甚至第三方(需要开源,真正的)工具来检测我们是否在Windows XP下作为管理员运行?
我需要检查当前登录的用户是否是管理员,但发现只有使用'net localgroup administrators'才能使AD组成为管理员组的成员.
[编辑:]很容易将管理员权限与特定实例的提升权限混淆,我只想强调这个问题/答案不涉及进程提升状态检查.要求是通常确定登录用户是否是管理员组成员.更常见的是需要确定您的脚本是否以管理员权限运行.如果这是您所需要的,那么请在此处查看:管理权限
在这种特殊情况下,有一个策略禁用管理员共享(排除我之前使用Windows XP测试管理员共享使用\ 127.0.0.1\admin $的技术,以确定当前用户是否为管理员).[/编辑]
下面是我收集和编写的代码,看看登录的用户是否是管理员.
我希望这可以帮助那些需要我做同样事情的人.
如果有人能提供更优雅的解决方案,我们将不胜感激!