From 6989680340fbdf90062ca116317d150f3eb17971 Mon Sep 17 00:00:00 2001 From: Louis Date: Tue, 21 Jul 2026 13:41:33 +0200 Subject: [PATCH] fix: use language-independent SIDs for installation ACLs --- scripts/install.ps1 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/install.ps1 b/scripts/install.ps1 index 36e272d..c25fbee 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -12,10 +12,11 @@ Copy-Item (Join-Path $SourceDirectory 'agent.exe') (Join-Path $InstallDirectory Copy-Item (Join-Path $SourceDirectory 'config.json') (Join-Path $InstallDirectory 'config.json') -Force $acl = Get-Acl $InstallDirectory $acl.SetAccessRuleProtection($true, $false) -$admins = New-Object System.Security.AccessControl.FileSystemAccessRule('BUILTIN\Administrators', 'FullControl', 'ContainerInherit,ObjectInherit', 'None', 'Allow') -$system = New-Object System.Security.AccessControl.FileSystemAccessRule('NT AUTHORITY\SYSTEM', 'FullControl', 'ContainerInherit,ObjectInherit', 'None', 'Allow') +$administratorsSid = New-Object System.Security.Principal.SecurityIdentifier('S-1-5-32-544') +$systemSid = New-Object System.Security.Principal.SecurityIdentifier('S-1-5-18') +$admins = New-Object System.Security.AccessControl.FileSystemAccessRule($administratorsSid, 'FullControl', 'ContainerInherit,ObjectInherit', 'None', 'Allow') +$system = New-Object System.Security.AccessControl.FileSystemAccessRule($systemSid, 'FullControl', 'ContainerInherit,ObjectInherit', 'None', 'Allow') $acl.SetAccessRule($admins); $acl.SetAccessRule($system); Set-Acl $InstallDirectory $acl $command = '"' + (Join-Path $InstallDirectory 'agent.exe') + '" --config "' + (Join-Path $InstallDirectory 'config.json') + '"' schtasks.exe /Create /TN 'NetBox Windows Agent' /SC $Schedule /ST $StartTime /RU SYSTEM /RL HIGHEST /TR $command /F | Out-Null & (Join-Path $InstallDirectory 'agent.exe') --config (Join-Path $InstallDirectory 'config.json') -