2

我在 SO 上找到了这个片段:

从登录 ID 获取用户 SID(Windows XP 及以上)

Function GetSIDfromAcctName()
{
$myacct = Get-WmiObject Win32_UserAccount -filter "Name = '$env:USERNAME " 
write-host Name: $myacct.name
Write-Host SID : $myacct.sid
}

但它并没有显示一切。

例如,我只想要“nt service\dhcp”的 sid。我怎么能得到那个?当我手动运行我的powershell时

获取 WmiObject Win32_UserAccont

我得到了所有用户,但只有三个“普通”用户。没有“特殊” nt 服务用户。

感谢帮助。

4

2 回答 2

3

要获得内置帐户,您需要另一个 WMI 类:Win32_Account.

gwmi -class win32_account -Filter 'name="LOCAL SERVICE"'
于 2012-08-03T06:50:51.413 回答
1

如果您想知道启动服务的帐户名称,您可以使用:

gwmi Win32_service -Filter "name='dhcp'" | % {return $_.startname}

结果是"NT Authority\LocalService"一个众所周知的 SID,如默认 Windows NT 安装的 SID 值中所述,您将在 Windows 操作系统的知名安全标识符中找到更多 SID 。


已编辑:正如您在以下屏幕截图中看到的那样,是的,dhcp 客户端正在以"NT Authority\LocalService"

在此处输入图像描述

于 2012-08-02T20:17:55.960 回答