【问题标题】:What are the permissions required for CIMSessionsCIMSessions 需要什么权限
【发布时间】:2018-12-27 06:01:50
【问题描述】:

我需要在我没有权限的服务器上查询一些 WMI 类。 这是我运行它时遇到的错误。

PS> get-ciminstance -ComputerName test.mydomain.com -ClassName Win32_OperatingSystem
get-ciminstance : Access is denied.
At line:1 char:1
+ get-ciminstance -ComputerName test.mydomain.com -ClassName Win32_Operating ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (root\cimv2:Win32_OperatingSystem:String) [Get-CimInstance], CimException
    + FullyQualifiedErrorId : HRESULT 0x80070005,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
    + PSComputerName        : test.mydomain.com

现在服务器有 PowerShell 2,所以它使用 DCOM,但我将升级 PowerShell 并配置为允许 WSMAN 连接。

但是需要授予帐户哪些权限?

【问题讨论】:

  • 您是否拥有该服务器的管理员权限?
  • 我目前对服务器没有任何权限。所以,我试图了解我需要让他们授予我的“最低限度”是什么。

标签: powershell


【解决方案1】:

默认情况下,Administrators(本地)和Authenticated Users(域)至少具有命名空间的读取权限。您需要确保您可以登录/验证服务器。值得一提的是Authenticated Users组默认没有Remote Enable权限。

Windows 操作系统将 WinRM 用于 CIM cmdlet,并且用户帐户必须是 administrator。 WinRM 创建了一个名为WinRMRemoteWMIUsers_ 的本地组,并仅授予对Administrators 组和WinRMRemoteWMIUsers_ 的访问权限。要将用户添加到该组,请使用以下命令:

net localgroup WinRMRemoteWMIUsers__ /add "domain\user"

抽象的答案很简单,您需要被授予Enable Account 和Remote Enable 对Namespace 的权限才能远程拥有WMI 读取 权限。

验证 WMI 权限的过程

登录到服务器并启动 mmc.exe。添加 WMI 管理单元,一旦加载,右键单击 WMI 控件。当 Properties 窗口打开时,单击 security,展开 root 并选择 cimv2。单击安全按钮并查看谁被授予访问权限以及哪些访问权限被授予。

使用 DCOM 进行测试的脚本

如果您想使用 DCOM 进行测试,或者因为服务器操作系统太旧而需要使用此脚本:

$Computer = thisbox.domain.com
$CimOption = New-CimSessionOption -Protocol Dcom
$CimSession = New-CimSession -ComputerName $Computer -SessionOption $CimOption

Get-CimInstance -ClassName win32_operatingsystem -CimSession $CimSession

【讨论】:

  • DCOM 是一种完全不同的动物,它有自己的安全设置,并由dcomcnfg.exe 管理。默认情况下,Self 具有用于本地和远程的 Access Permissions。看看这个“什么是自我”这个不可避免的问题的答案:) social.technet.microsoft.com/Forums/windowsserver/en-US/…
  • 您在域环境中吗?如果在域中,您是使用域帐户还是本地帐户进行身份验证?服务器的操作系统是什么?旧的 Windows 操作系统需要 DCOM...连接拒绝错误是否相同?
  • 另外,Windows 将 WinRM 用于 CIM cmdlet,用于在服务器上配置 WinRM 的命令是什么(如果是 windows 机器)?
  • 等等...用户帐户不是管理员?我一定错过了。是的,需要管理员。我将使用明确说明的内容以及可用于使用 DCOM 进行测试的脚本来更新我的答案。
  • 我想我只是写博客而不是试图解释:adilhindistan.com/2013/10/… 如果您想合并我在那里提到的步骤,我想将您的答案标记为解决方案。主要是:将用户添加到DCOM组,申请时确保选择root下的所有命名空间(默认只有这个命名空间,不起作用)
【解决方案2】:

转到控制面板 > 用户帐户 > Managae 用户 > 新用户,登录新用户。将自动安装所有 Windows 设置,然后将飞行模式更改为 on 。设置将反映以前的用户。尽情享受吧!

【讨论】:

    猜你喜欢
    • 2011-02-10
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多