From 37d8a4e2b545e8e68ee011e7c00872e42f68ee2c Mon Sep 17 00:00:00 2001 From: switch21 Date: Sat, 25 Dec 2021 14:46:59 -0800 Subject: [PATCH 1/5] Update to add full secedit path --- .../SecurityPolicyResourceHelper.psm1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 b/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 index 905a29d..f1d94be 100644 --- a/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 +++ b/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 @@ -97,8 +97,10 @@ function Invoke-Secedit $arguments = $arguments + " /overwrite /quiet" } + $secEditCmd = Get-Command 'secedit.exe' + Write-Verbose "secedit arguments: $arguments" - Start-Process -FilePath secedit.exe -ArgumentList $arguments -RedirectStandardOutput $seceditOutput ` + Start-Process -FilePath $secEditCmd.Path -ArgumentList $arguments -RedirectStandardOutput $seceditOutput ` -NoNewWindow -Wait } From 28723ffb7e67f9694deb8f3128038b3163741f27 Mon Sep 17 00:00:00 2001 From: switch21 Date: Sat, 25 Dec 2021 17:07:52 -0800 Subject: [PATCH 2/5] Update format and cmd path --- Tests/Unit/SecurityPolicyResourceHelper.tests.ps1 | 5 +++++ .../SecurityPolicyResourceHelper.psm1 | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Tests/Unit/SecurityPolicyResourceHelper.tests.ps1 b/Tests/Unit/SecurityPolicyResourceHelper.tests.ps1 index 27a1fe0..7cb36b6 100644 --- a/Tests/Unit/SecurityPolicyResourceHelper.tests.ps1 +++ b/Tests/Unit/SecurityPolicyResourceHelper.tests.ps1 @@ -43,6 +43,7 @@ InModuleScope $script:subModuleName { { ConvertTo-LocalFriendlyName -Identity 'S-1-5-32-600' -Scope 'Set' } | Should throw } } + Describe 'SecurityPolicyResourceHelper\Invoke-Secedit' { Mock Start-Process @@ -60,6 +61,7 @@ InModuleScope $script:subModuleName { Assert-MockCalled -CommandName Start-Process -Exactly 1 } } + Describe 'SecurityPolicyResourceHelper\Get-UserRightsAssignment' { BeforeAll { $ini = "$PSScriptRoot\..\TestHelpers\TestIni.txt" @@ -80,6 +82,7 @@ InModuleScope $script:subModuleName { $result.section.Key1 | Should be 'Value1' } } + Describe 'SecurityPolicyResourceHelper\Test-IdentityIsNull' { It 'Should return true when Identity is null' { $IdentityIsNull = Test-IdentityIsNull -Identity $null @@ -95,6 +98,7 @@ InModuleScope $script:subModuleName { $IdentityIsNull | Should Be $false } } + Describe 'SecurityPolicyResourceHelper\Get-SecurityPolicy' { BeforeAll { $ini = "$PSScriptRoot\..\TestHelpers\sample.inf" @@ -146,6 +150,7 @@ InModuleScope $script:subModuleName { } } + Describe 'SecurityPolicyResourceHelper\Test ConvertTo-SDDLDescriptor' { It 'Should be BA' { $identity = "BUILTIN\Administrators" diff --git a/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 b/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 index f1d94be..6b652fc 100644 --- a/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 +++ b/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 @@ -140,7 +140,8 @@ function Get-SecurityPolicy Write-Debug -Message ($localizedData.EchoDebugInf -f $currentSecurityPolicyFilePath) - secedit.exe /export /cfg $currentSecurityPolicyFilePath /areas $Area | Out-Null + $secEditCmd = Get-Command 'secedit.exe' + & $secEditCmd.Path /export /cfg $currentSecurityPolicyFilePath /areas $Area | Out-Null } $policyConfiguration = @{} From c0c469d359ebad577a845b32313c333234245b2b Mon Sep 17 00:00:00 2001 From: switch21 Date: Sat, 25 Dec 2021 17:16:05 -0800 Subject: [PATCH 3/5] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d598c5..1ef959b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ - SecurityPolicyDsc: - Added automatic release with a new CI pipeline. [Issue #143](https://github.com/dsccommunity/SecurityPolicyDsc/issues/143). + - Updated SecurityPolicyResourceHelper functions to use the full path to the secedit program when invoked. + [Issue #116](https://github.com/dsccommunity/SecurityPolicyDsc/issues/116). ### Changed From 2b5f68bff661dc9a998aa3f941bed225ce79c258 Mon Sep 17 00:00:00 2001 From: switch21 Date: Sat, 25 Dec 2021 22:06:08 -0500 Subject: [PATCH 4/5] Update CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ef959b..2f6e547 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,6 @@ - SecurityPolicyDsc: - Added automatic release with a new CI pipeline. [Issue #143](https://github.com/dsccommunity/SecurityPolicyDsc/issues/143). - - Updated SecurityPolicyResourceHelper functions to use the full path to the secedit program when invoked. - [Issue #116](https://github.com/dsccommunity/SecurityPolicyDsc/issues/116). ### Changed @@ -30,6 +28,8 @@ - Added PowerShell Dsc Resource Help Files. - AccountPolicy: - Improved and updated unit tests to Pester v4 format. +- Updated SecurityPolicyResourceHelper functions to use the full path to the secedit program when invoked. + [Issue #116](https://github.com/dsccommunity/SecurityPolicyDsc/issues/116). ### Fixed From 62f113a910d297a1a0ab13b5f1ac12030c5e226d Mon Sep 17 00:00:00 2001 From: switch21 Date: Sun, 26 Dec 2021 07:07:58 -0800 Subject: [PATCH 5/5] Update format --- .../SecurityPolicyResourceHelper.psm1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 b/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 index 6b652fc..63a1070 100644 --- a/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 +++ b/source/Modules/SecurityPolicyResourceHelper/SecurityPolicyResourceHelper.psm1 @@ -97,7 +97,7 @@ function Invoke-Secedit $arguments = $arguments + " /overwrite /quiet" } - $secEditCmd = Get-Command 'secedit.exe' + $secEditCmd = Get-Command -Name 'secedit.exe' Write-Verbose "secedit arguments: $arguments" Start-Process -FilePath $secEditCmd.Path -ArgumentList $arguments -RedirectStandardOutput $seceditOutput ` @@ -140,7 +140,7 @@ function Get-SecurityPolicy Write-Debug -Message ($localizedData.EchoDebugInf -f $currentSecurityPolicyFilePath) - $secEditCmd = Get-Command 'secedit.exe' + $secEditCmd = Get-Command -Name 'secedit.exe' & $secEditCmd.Path /export /cfg $currentSecurityPolicyFilePath /areas $Area | Out-Null }