Receiving error using this script: The TSQL script runs fine but errors in powershell.
Exception : System.NullReferenceException: Object reference not set to an instance of an object.
at BatchParser.ThunkVariableResolver.ResolveVariable(ThunkVariableResolver* , UInt16* varName, UInt16** varValue)
at BatchParser.Variables.ResolveVariable(Variables* , basic_string<unsigned short\,std::char_traits<unsigned short>\,std::allocator<unsigned short> >* name, basic_string<unsigned short\,std::char_traits<unsign
ed short>\,std::allocator<unsigned short> >* val)
at BatchParser.Batch.listall(Batch* , basic_string<unsigned short\,std::char_traits<unsigned short>\,std::allocator<unsigned short> >* str, IVariables* variables, Int32 mark)
at BatchParser.Batch.popall(Batch* , basic_string<unsigned short\,std::char_traits<unsigned short>\,std::allocator<unsigned short> >* str, IVariables* variables, Int32 mark)
at BatchParser.ExecutionContext.ProcessBatch(ExecutionContext* , Boolean hasNum)
at BatchParser.BatchParserYacc.reduce(BatchParserYacc* , UInt32 ulProd, UInt32 ulSize)
at SSYacc.doReduce(SSYacc* )
at SSYacc.parse(SSYacc* )
at BatchParser.BatchParserInternal.Parse(BatchParserInternal* , ParserState* , Boolean flushBatchBuffer)
at ManagedBatchParser.Parser.Parse()
at Microsoft.SqlServer.Management.PowerShell.ExecutionProcessor.ExecuteTSql(String sqlCommand)
at Microsoft.SqlServer.Management.PowerShell.GetScriptCommand.ProcessRecord()
TargetObject :
CategoryInfo : InvalidResult: (:PSObject) [Invoke-Sqlcmd], NullReferenceException
FullyQualifiedErrorId : ExecutionFailed,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
ErrorDetails :
InvocationInfo : System.Management.Automation.InvocationInfo
PipelineIterationInfo : {0, 1}
PSMessageDetails :
cls [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null $server = Get-Content c:\SQL_SERVERS\2008_UPDATE_JOB_STEPS.txt $updatejob = "C:\SCRIPTS\Maintenance\CURRENT\UPDATE_JOB_STEP.sql" foreach ($server in $server) { try { $s = new-object ('Microsoft.SqlServer.Management.Smo.Server') $server Invoke-Sqlcmd -InputFile $updatejob -ServerInstance $server } catch { $Error[0]|format-list -force Write-Host "Error on $server" } }