PowerShell: Search multiple files for text string
My client had an issue where a script built years ago, deployed by SCCM, had changed the registry settings of IE on some computers. However, the registry setting was causing new problems and the script needed to be removed from deployment. The client didn't know which script was causing the issue, so I used this PowerShell script to scan the SMSPKGD$ folder in search of the registry key in the files.
$Extensions = @("bat","cmd","vbs","ps1")
$FoundText = @()
ForEach ($Ext in $Extensions) {
$Text = Select-String \\ServerName\SMSPKGD$\*\*.$Ext -Pattern "Text you are looking for"
$FoundText += $Text }
If ($FoundText) {$FoundText | Out-GridView}
Within a minute I had found the script that was changing the registry and disabled the advertisement.
Comments
- Anonymous
September 04, 2015
Just one correction, in the statement ForEach ($Ext in Extensions) { , you are missing the $ before Extensions, it should instead read ForEach ($Ext in $Extensions) {- Anonymous
April 25, 2017
Thanks for the catch Ryan Webb.
- Anonymous