Here's the code for anyone interested:
clear
$strSrv = "MyServerName"
$objSrv = New-object Microsoft.SqlServer.Management.Smo.Server $strSrv
$objdb = $objSrv.Databases["MyDBName"]
$ObjectsToCheck = $objdb.StoredProcedures | ?{($_.textbody -like '*MyModifiedObject*')}
$ObjectsToCheck += $objdb.UserDefinedFunctions | ?{($_.textbody -like '*MyModifiedObject*')}
$ObjectsToCheck += $objdb.Views | ?{($_.textbody -like '*MyModifiedObject*')}
$ObjectsToCheck += $objdb.Triggers | ?{($_.textbody -like '*MyModifiedObject*')}
# Add other objects types that you may use.
$ObjectsToRecode = @()
$ObjectsToCheck | % {$objSp = $_; $spName = $_.Name;
try
{
$query = "EXEC sys.sp_refreshsqlmodule '$spName'"
$objdb.ExecuteNonQuery($Query)
}
catch
{
$ObjectsToRecode += $spName
}
}
$ObjectsToRecode
EDIT: Credit where it's due dept.: