Parse_RSOP.ps1 (zpäť na zoznam)
Skript rozoberá XML výstup z RSOP nástroja a vytvára zoznam aplikovaných doménových poliktí, organizačných jednotiek domény, v ktorých je server zahrnutý, a na ktoré sa dané politiky vzťahujú
if (Test-Path -Path "C:\temp\gpresult.xml") {
Remove-Item "C:\temp\gpresult.xml"
}
Invoke-Expression -command "gpresult /scope:computer /user:_LOCAL_USER_ /x C:\temp\gpresult.xml"
[xml]$gpresult = Get-Content "C:\temp\gpresult.xml"
$parent = $gpresult.Rsop.ComputerResults
$serverName = $parent.Name
$OU = $parent.SOM
$GPOs = $parent.GPO
if ($OU -ne "Local") { #get rid of a domain from server name
$parsedName = $serverName.split("`\")
$serverName = $parsedName[1]
$serverName = $serverName.replace("$","")
}
foreach ($GPO in $GPOs) {
$isAppliedLink = $GPO.Link
if ($isAppliedLink -is [System.Array]) {
foreach ($link in $isAppliedLink) {
[int]$isApplied = $link.AppliedOrder
if($isApplied -ne 0) {
$gpoName = $GPO.name
$appliedOU = $link.SOMPath
write-host $serverName";"$OU";"$appliedOU";"$gpoName
}
}
}
else {
[int]$isApplied = $isAppliedLink.AppliedOrder
if ($isApplied -ne 0) {
$gpoName = $GPO.name
$appliedOU = $isAppliedLink.SOMPath
write-host $serverName";"$OU";"$appliedOU";"$gpoName
}
}
}