2016-08-30 49 views

回答

1

如果我理解正確this article,權力地獄使用靜態內部表用於翻譯像Microsoft.SqlServer.BatchParser完全限定的程序集名稱的名稱,所以你可能需要像

Add-Type -Assembly 'Microsoft.SqlServer.BatchParser, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' 

或使用LoadWithPartialName()

[Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.BatchParser') 

加載所需的組件。

0

我遇到了麻煩,連Ansgar的回答都沒有幫助。我的問題是,從任務調度程序運行時,未能從SQLPS模塊運行Invoke-SqlCmd。我試了RundeckWindows任務計劃程序,兩者都導致相同的錯誤。直接在ISE中運行原始腳本可以正常工作。

要解決我的問題,我利用Invoke-SqlCmd2RamblingCookieMonster在GitHub上,因爲它不依賴於加載那些被失敗的組件。 Ansgar的答案是有效的,但可能不包括所有情況。對於其他情況,請嘗試使用RamblingCookieMonster from GitHub

您可以直接在PowerShell中從GitHub通過運行以下命令加載它:

Invoke-Expression "$((New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/RamblingCookieMonster/PowerShell/master/Invoke-Sqlcmd2.ps1"))" 
相關問題