This script will import and apply a local GPO using the local GPO utility, ImportRegPol.exe, located here. The script is a wrapper that makes implementing this utility a snap. All that has to be done is to use the Microsoft Security Compliance Manager to export the desired local GPO. I wrote this script for use mainly in the MDT build. I realize there is the GPO Pack built into MDT, but what happens when you want to deploy a local GPO to machines already built or multiple local GPOs at different times in a build? This script makes that easy.
The syntax for the function is as follows:
Syntax:
Import-LGPO -LGOPName "User Friendly Name" -LGPOLocation "<Path_To_GPO_GUID>" -GPOType "Machine"
Example:
Import-LGPO -LGOPName "Disable Network Wait" -LGPOLocation "\\Fileshare\LGPO\{57D203F7-B8CE-47BC-920F-CECF34F6A6BA}" -GPOType "Machine"
You can download the script from here.
The syntax for the function is as follows:
Syntax:
Import-LGPO -LGOPName "User Friendly Name" -LGPOLocation "<Path_To_GPO_GUID>" -GPOType "Machine"
Example:
Import-LGPO -LGOPName "Disable Network Wait" -LGPOLocation "\\Fileshare\LGPO\{57D203F7-B8CE-47BC-920F-CECF34F6A6BA}" -GPOType "Machine"
You can download the script from here.
<#
.SYNOPSIS
Apply Local Group Policy
.Author
Mick Pletcher
.Date
23 February 2015
.EXAMPLE
powershell.exe -executionpolicy bypass -file LGPO.ps1
#>
Function Import-LGPO {
Param([String]$LGPOName, [String]$LGPOLocation, [String]$GPOType)
$Executable = $Global:RelativePath+"ImportRegPol.exe"
If ($GPOType -eq "Machine") {
$GPOType = "\DomainSysvol\GPO\Machine\registry.pol"
} else {
$GPOType = "\DomainSysvol\GPO\User\registry.pol"
}
$Parameters = "-m "+[char]34+$LGPOLocation+$GPOType+[char]34
Write-Host "Apply Local"$LGPOName" Policy....." -NoNewline
$ErrCode = (Start-Process -FilePath $Executable -ArgumentList $Parameters -Wait -Passthru).ExitCode
If (($ErrCode -eq 0) -or ($ErrCode -eq 3010)) {
Write-Host "Success" -ForegroundColor Yellow
} else {
Write-Host "Failed with error code "$ErrCode -ForegroundColor Red
}
}
cls
$Global:RelativePath = (split-path $SCRIPT:MyInvocation.MyCommand.Path -parent)+"\"
Import-LGPO -LGPOName "User Friendly Name" -LGPOLocation "<Path_To_GPO_GUID>" -GPOType "Machine"
Start-Sleep -Seconds 5
0 comments:
Post a Comment