-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Search-GPOsForStringReturnAll.ps1
30 lines (26 loc) · 1.02 KB
/
Search-GPOsForStringReturnAll.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#########################################################
#
# Name: Search-GPOsForString.ps1
# Author: Tony Murray
# Amendments: Adam Fowler https://www.adamfowlerit.com/
# Version: 1.0
# Date: 13/07/2016
# Comment: Simple search for GPOs within a domain
# that match a given string
########################################################
# Get the string we want to search for
$string = Read-Host -Prompt "What string do you want to search for?"
# Set the domain to search for GPOs
$DomainName = $env:USERDNSDOMAIN
# Find all GPOs in the current domain
write-host "Finding all the GPOs in $DomainName"
Import-Module grouppolicy
$allGposInDomain = Get-GPO -All -Domain $DomainName
# Look through each GPO's XML for the string
Write-Host "Starting search...."
foreach ($gpo in $allGposInDomain) {
$report = Get-GPOReport -Guid $gpo.Id -ReportType Xml
if ($report -match $string) {
write-host "********** Match found in: $($gpo.DisplayName) **********"
}
} # end foreach