首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PowerShell查找Unknown Group

PowerShell查找Unknown Group

作者头像
星哥玩云
发布2022-07-04 13:22:05
发布2022-07-04 13:22:05
4510
举报
文章被收录于专栏:开源部署开源部署

最近迁徙了一些用户从域A转到另外一个域B,为了方便继续访问旧的文件系统,保留了SID历史记录。今天发现个别运行在旧域A的 Citrix Xenapp程序不工作了。

经过检查,发现该程序启动的时候会自动运行 whoami /group自检,如果有无法解析的SID,自动结束。估计是迁徙的时候某些组的SID History出了问题。那么怎么找出这些无法解析的SID和对应的组名呢?豆子写了个很简单的powershell命令来查找

在域A上以用户身份登录,执行下列命令,whoami的结果先转化成csv文本,然后powershell再转化成结构化对象以便操作。

whoami /groups /fo csv | ConvertFrom-Csv | where{$_.type -match "Unknown SID type"} | select sid > K:\unknown.txt

结果如下

然后在域B上读取这个文本,进行Sid到组名的解析即可

$group=get-content K:\unknown.txt | select -skip 3

foreach ( $sid in $group)

{

try{

$objSID = New-Object System.Security.Principal.SecurityIdentifier ($sid.TrimEnd())

$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])

write-host $objUser.Value

}

catch{

write-host "Catched error: $_.Exception.Message"

}

}

结果如下。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档