Sorry using a global array, in function, just needed to get it done. no time today.
Read a GPO, locate the keys need then
Then clone the settings to another GPO
http://pastebin.com/ipDjYMds
Wednesday, October 19, 2016
Friday, October 14, 2016
Powershell | GPO Link report
[array]$Report = @()
$GPOs = Get-GPO -all | Sort-Object Displayname
foreach ($GPO in $GPOs) {
Write-Host "Processing GPO $($GPO.DisplayName)"
$XMLReport = Get-GPOReport -GUID $($GPO.id) -ReportType xml
$XML = [xml]$XMLReport
foreach ($gpolink in $xml.GPO.LinksTo.SomPath) {
$Report += New-Object PSObject -Property @{
'GPOName' = $xml.gpo.name
'gpoLink' = $gpolink }
}
if ($xml.GPO.LinksTo.SomPath -eq $null) {
$Report += New-Object PSObject -Property @{
'GPOName' = $xml.gpo.name
'gpoLink' = "Nolink" }
}
}
$Report | Export-CSv C:\reporting\GPOLinks.csv
$GPOs = Get-GPO -all | Sort-Object Displayname
foreach ($GPO in $GPOs) {
Write-Host "Processing GPO $($GPO.DisplayName)"
$XMLReport = Get-GPOReport -GUID $($GPO.id) -ReportType xml
$XML = [xml]$XMLReport
foreach ($gpolink in $xml.GPO.LinksTo.SomPath) {
$Report += New-Object PSObject -Property @{
'GPOName' = $xml.gpo.name
'gpoLink' = $gpolink }
}
if ($xml.GPO.LinksTo.SomPath -eq $null) {
$Report += New-Object PSObject -Property @{
'GPOName' = $xml.gpo.name
'gpoLink' = "Nolink" }
}
}
$Report | Export-CSv C:\reporting\GPOLinks.csv
Subscribe to:
Posts (Atom)