1

所以我需要找到我配置的 DNS 服务器。

我使用ManagementObjectSearcheron进行 WMI 查找Win32_NetworkAdapterConfiguration

这在开发中运行良好。NETWORK SERVICE在特权较低的帐户(例如)下作为服务运行时它仍然可以工作吗?

4

2 回答 2

1

安全性和 WMI 受到相当的限制,我相信您指的是ImpersonationLevel&AuthenticationLevel设置。远程 WMI 更加棘手,但请看一下:

模拟级别: http: //msdn.microsoft.com/en-us/library/windows/desktop/aa393852 (v=vs.85).aspx

身份验证级别: http: //msdn.microsoft.com/en-us/library/windows/desktop/aa393851 (v=vs.85).aspx

以下内容可用于提升 WMI 的提升权限(在 VBS 和 CMD 中)并检索 DNS 设置,因此我假设您可以在其他语言中执行相同操作:

VBS

Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\.\root\cimv2")
Set oQRY.ExecQuery("select DcSiteName,DnsForestName,DomainName from Win32_NTDomain")`

命令

wmic /implevel:Impersonate /authlevel:Pktprivacy /namespace:\\root\cimv2 path win32_ntdomain get /all /format:list
于 2012-08-19T01:57:49.047 回答
1

“MSDN 标题为访问 WMI 命名空间”部分

Authenticated Users、LOCAL SERVICE 和 NETWORK SERVICE 的默认访问权限为:

  • 执行方法
  • 完全写入
  • 启用帐户

请注意,如果您的进程未在提升的安全性下运行,您可能无法访问某些功能

另请注意,某些操作也需要提升权限(特别是在处理安全描述符时)。

于 2012-08-16T18:24:02.133 回答