Когда вы используетеSet-ItemProperty
для определения целевых путей реестра командлет поддерживает динамический параметр с именем -Type
который принимаетMicrosoft.Win32.RegistryValueKind
значение, которое определяет тип данных значения.
Наличие hex:
В вашем *.reg
файл подразумевает двоичный файл (необработанные байты) в качестве типа данных; поэтому:
- проходить
Binary
Для -Type
- передайте двоичное значение (данные) в виде массива байтов в
-Value
; для получения эквивалента hex:00
- т. е. один байт со значением 0x0
- использовать -Value 0x0
(чтобы передать несколько байтов, разделите их с помощью ,
напр.: -Value 0x0, 0x1
):
Set-ItemProperty -Type Binary -Value 0x0 -Name Triggers -LiteralPath 'registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks\{042D8A51-5878-4000-9C10-C04AFF122A1F}'
Также обратите внимание на registry::
префикс пути раздела реестра, необходимый для идентификации пути как пути реестра (независимо от контекста).
В качестве альтернативы замените registry::HKEY_LOCAL_MACHINE
с HKLM:
, чтобы вместо этого указать путь на эквивалентном диске, специфичном для PowerShell. (Другим предопределенным диском реестра является HKCU:
, что эквивалентно registry::HKEY_CURRENT_USER
; Get-PSDrive
-PSProvider registry
показывает все диски на основе реестра).