Problem with worklet that manipulates registry

  • 17 August 2020
  • 1 reply

Userlevel 4

Hi all. I have a worklet that runs the following code in the remediation section. It doesn’t seem to be working. It works just fine if I run it in a powershell window (that runs as admin).

What gives? I’m trying to disable auto-startup of Starleaf.

$registryPath = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder"
$registryProperty = "StarLeaf.lnk"
$enableValue = ([byte[]](0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00))
$disableValue = ([byte[]](0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00))

Set-ItemProperty -Path $registryPath -Name $registryProperty -Value $disableValue -Type Binary

1 reply

Userlevel 4

Figured out the problem with the help of support. OS bitness issue. The solution is to wrap the script in a scriptblock and use sysnative. 🙂

You can read more about it here