cEPRSDisableUAC.psm1

<#
This resource manages adding users to the GROUP.
[DscResource()] indicates the class is a DSC resource
#>

[DSCResource()]
class cEPRSDisableUAC
{


    [DscProperty(Key)] [validateset("true","false")] [string] $EnableLUA
    

[cEPRSDisableUAC] Get()
{

    $CurrentState=(Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA

    if(($CurrentState -eq "0") -and ($this.EnableLUA -eq $false))
   {
        $this.EnableLUA = $false
   }
    else
   {
        $this.EnableLUA = $true
   }
        return $this

   }

[void] Set()

{
    Write-Verbose( "GPO Settings started for x86 bit server-Set $($this.EnableLUA)") -Verbose
    if ($this.EnableLUA -eq $false)
    {
        Write-Verbose( "GPO Settings started for x86 bit server-Set $this.EnableLUA") -Verbose
           
        & "$env:SystemRoot\System32\reg.exe" ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 4 /f
        & "$env:SystemRoot\System32\reg.exe" ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableInstallerDetection /t REG_DWORD /d 1 /f
        & "$env:SystemRoot\System32\reg.exe" ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f
        gpupdate
    }
    else
    {
        Write-Verbose( "GPO Settings started for x86 bit server-Set $this.EnableLUA") -Verbose
        & "$env:SystemRoot\System32\reg.exe" ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 4 /f
        & "$env:SystemRoot\System32\reg.exe" ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableInstallerDetection /t REG_DWORD /d 1 /f
        & "$env:SystemRoot\System32\reg.exe" ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 1 /f
        gpupdate
    }
}

[bool] Test()
{
        Write-Verbose "In Test" -Verbose

        $CurrentState=(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System").EnableLUA

        Write-Verbose "CurrentState: $CurrentState" -Verbose

       if(($CurrentState -eq "0") -and ($this.EnableLUA -eq $false))
       {
            return $true
       }
       elseif(($CurrentState -eq "1") -and ($this.EnableLUA -eq $true))
       {
            return $true
       }
       else
       {
            return $false
       }
  }

  }