i have bunch of stored procedures in database, launched powershell sql server right clicking on stored procedures folder in ssms , choosing start powershell, tried following command gives me nothing
ps sqlserver:\sql\mycomp\default\databases\mydb\storedprocedures> get-childitem | foreach-object { (invoke-sqlcmd -suppressprovidercontextwarning -query ("sp_helptext '$_'" )) | select-string mykeyword} if remove | select-string mykeyword part, spits out code every stored procedure 1 one. missing?
your command returning array of pscustomobjects have string property named "text". need pipe value of property select-string. right calling select-string on object not string. change to:
get-childitem | foreach-object { (invoke-sqlcmd -suppressprovidercontextwarning -query ("sp_helptext '$_'" )) } | select-object text | select-string yourkeyword to answer later question outputting sp name, store name in variable , output it, like:
$sname = ''; get-childitem | foreach-object { $sname = $_.name; (invoke-sqlcmd -suppressprovidercontextwarning -query ("sp_helptext '$_'" )) } | select-object text | select-string yourkeyword | foreach-object { write-host $sname }
Comments
Post a Comment