icinga-powershell-framework/lib/core/icingaagent/setters/Set-IcingaAcl.psm1
2019-09-29 18:25:40 +02:00

24 lines
664 B
PowerShell

function Set-IcingaAcl()
{
param(
[string]$Directory
);
if (-Not (Test-Path $Directory)) {
throw 'Failed to set Acl for directory. Directory does not exist';
return;
}
$DirectoryAcl = Get-Acl -Path $Directory;
$DirectoryAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
(Get-IcingaServiceUser),
'Modify',
'ContainerInherit,ObjectInherit',
'None',
'Allow'
);
$DirectoryAcl.SetAccessRule($DirectoryAccessRule);
Set-Acl -Path $Directory -AclObject $DirectoryAcl;
Test-IcingaAcl -Directory $Directory -WriteOutput | Out-Null;
}