You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Windows标准账户的本地化名称?PowerShell实操问询

解决PowerShell获取SYSTEM账户本地化名称及枚举对应服务的问题

为什么原命令返回空

Win32_UserAccount类仅包含常规本地用户账户,而SYSTEM是Windows内置的特殊系统账户,不属于这个类的覆盖范围,因此用该类查询SID为S-1-5-18的对象会返回空结果。

获取SYSTEM账户的本地化名称

使用Win32_Account类(该类涵盖用户、组及特殊系统账户)来查询:

# 兼容旧版本PowerShell的写法
Get-WmiObject -Class Win32_Account -Filter "SID = 'S-1-5-18'"

# 推荐使用更现代的Get-CimInstance
Get-CimInstance -ClassName Win32_Account -Filter "SID = 'S-1-5-18'"

执行后会返回SYSTEM账户的本地化名称(比如中文系统下显示为NT AUTHORITY\SYSTEM)。

枚举运行在SYSTEM账户下的服务

要筛选出以SYSTEM账户运行的服务,可以结合服务查询与账户信息:

# 直接筛选运行账户为SYSTEM的服务
Get-CimInstance -ClassName Win32_Service | Where-Object { $_.StartName -eq 'NT AUTHORITY\SYSTEM' }

如果需要适配不同语言系统的本地化名称,可先获取SYSTEM账户的标准标识再匹配:

$systemAccount = Get-CimInstance -ClassName Win32_Account -Filter "SID = 'S-1-5-18'" | Select-Object -ExpandProperty Caption
Get-CimInstance -ClassName Win32_Service | Where-Object { $_.StartName -eq $systemAccount }

内容的提问来源于stack exchange,提问作者lijevosmetalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 03:42:36