我可以找到在Powershell中获取StdRegProv WMI类的实例的唯一方法是

$StdRegProv = Get-WmiObject -List -Namespace root\default -ComputerName "my_computer" -Credential $cred | where { $_.Name -eq "StdRegProv" }

我需要走这条路,因为我想提供证书。我天真地希望以下工作有效:
$StdRegProv = Get-WmiObject -Class StdRegProv -Namespace root\default -ComputerName "my_computer" -Credential $cred

但事实并非如此-为什么您不能以这种方式进入StdRegProv?

最佳答案

据我了解,Get-WmiObject返回一个类的现有实例。如果没有实例,您将得到一个空集合。 (但是不要在此引用我,因为这只是一个猜测-我没有查看Get-WmiObject代码。)

无论如何,您可以使用:
[WMIClass]"root\default:StdRegProv"
实例化该类。或者,如果必须是gwmi:

Get-WmiObject -List -Namespace "root\default" -ComputerName "my_computer" `
    | Where-Object {$_.Name -eq "StdRegProv"}

资料来源:Powershell remote registry access via WMI

10-08 13:56