Вам необходимо вызвать Invoke-CimMethod
, чтобы вызвать соответствующий метод класса WMI StdRegProv
, например, как это :
$computer = 'remotehost'
$hive = [uint32]'0x80000002' # HKLM
$subkey = 'SOFTWARE\Foo'
$value = 'bar'
$data = 'baz'
Invoke-CimMethod -Computer $computer -Namespace 'root/cimv2' -Class 'StdRegProv' -MethodName 'SetStringValue' -Arguments @{
'hDefKey' = $hive
'sSubKeyName' = $subkey
'sValueName' = $value
'sValue' = $data
}
Однако вместо CIM или WMI я бы рекомендовал использовать соответствующий .Net API :
$computer = 'remotehost'
$hive = 'LocalMachine' # HKLM
$subkey = 'SOFTWARE\Foo'
$value = 'bar'
$data = 'baz'
$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($hive, $computer)
$key = $reg.OpenSubKey($subkey, $true)
$key.SetValue($value, $data, 'String')