我可以找到在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。