未经允许不得转载,转载时请标注来源;禁止用作商业及其他衍生目的。
有误请指正,侵权请联系删除。有更好的方法也请联系我求赞,关注,评论
声明:很抱歉大家,因作者本地API限制,对于组的枚举我将采用.net的方法:
function net-enumgroups(){
$computerName = $env:COMPUTERNAME
$adsi = [ADSI]"WinNT://$computerName"
foreach($i in $adsi.Children){
if($i.SchemaClassName -eq 'Group'){
$i.Name
}
}
}
注意:运行时以效率优先,调试时以简单优先,因此,在调试时推荐使用“foreach-object”但在运行时为了简洁效率,请使用“foreach”(管道较消耗CPU和时间)
*我使用了[ADSI]
类型转换器和“WinNT://”
前缀来创建一个ADSI
对象,该对象代表本地计算机的活动目录服务接口(ADSI)
*老规矩,为了读者方便阅读,仅枚举本地计算机上的组