Fixes temporary file creation on older Powershell versions

Fixes #22
This commit is contained in:
Lord Hepipud 2019-11-22 19:59:54 +01:00
parent 7b408b209c
commit 0d6a68ffee
3 changed files with 18 additions and 2 deletions

View file

@ -1,6 +1,6 @@
function Get-IcingaAgentServicePermission()
{
$SystemPermissions = New-TemporaryFile;
$SystemPermissions = New-IcingaTemporaryFile;
$SystemOutput = Start-IcingaProcess -Executable 'secedit.exe' -Arguments ([string]::Format('/export /cfg "{0}.inf"', $SystemPermissions));
if ($SystemOutput.ExitCode -ne 0) {

View file

@ -5,7 +5,7 @@ function Set-IcingaAgentServicePermission()
return;
}
$SystemPermissions = New-TemporaryFile;
$SystemPermissions = New-IcingaTemporaryFile;
$ServiceUser = Get-IcingaServiceUser;
$ServiceUserSID = Get-IcingaUserSID $ServiceUser;
$SystemContent = Get-IcingaAgentServicePermission;

View file

@ -0,0 +1,16 @@
function New-IcingaTemporaryFile()
{
[string]$TmpFile = '';
[string]$FilePath = '';
while ($TRUE) {
$TmpFile = [string]::Format('tmp_icinga{0}.tmp', (Get-Random));
$FilePath = Join-Path $Env:TMP -ChildPath $TmpFile;
if ((Test-Path $FilePath) -eq $FALSE) {
break;
}
}
return (New-Item -Path $FilePath -ItemType File);
}