新聞中心
這篇文章主要為大家展示了“PowerShell遠程運行命令出錯怎么辦”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“PowerShell遠程運行命令出錯怎么辦”這篇文章吧。
旅順口網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
只訪問本地資源
在開始使用之前,確保命令不訪問遠程機器上的非本地資源。假如你運行一臺Windows 7或Windows 8電腦,使用Remoting將一條命令傳輸給搭載Windows Server 2008或者更新版本的計算機B,這條命令就能操作計算機B上的所有資源。這是不允許的,特別是訪問網(wǎng)絡(luò)。
為什么?這是因為Remoting將你的證書委派給計算機B,但是安全起見,計算機B不允許更進一步委派證書。
如果你需要這么做,你可以通過使用CredSSP協(xié)議實現(xiàn)多級授權(quán)。因為有許多安全因素,所以在開始之前,你需要明確。你可以從免費的電子書PowerShell Remoting的秘密瀏覽更多信息,電子書中有一整章節(jié)是關(guān)于CredSSP的。
時間問題
命令的另一個可能性問題在于時間。當你在本地手工運行一條命令時,輸入、點擊“回車”、閱讀結(jié)果需要一定的時間。在你開始輸入下一條命令時,上一條的命令已經(jīng)運行完成。
當你發(fā)送一批命令到遠程機器時,并不一定如此。機器在***條命令執(zhí)行完成之間就可以轉(zhuǎn)到下條命令。尤其是在運行啟動單獨的進程或線程的外部命令時。
為了解決問題,使用Enter-PSSession連接到遠程機器,并手動運行試圖發(fā)送的任何命令。如果有用,在發(fā)送批量命令時,換成使用Invoke-Command。否則,你會遇到時間問題。
你有幾種解決問題的方法:你可以使用Start-Sleep命令暫停shell;也可以進行必要的檢查,如文件是否存在;在執(zhí)行其他命令之前,將shell睡眠并重現(xiàn)檢查,然后繼續(xù)開始。
外部命令問題
還有一種可能性只適用于外部命令,而不是本地PowerShell cmdlets,那就是遠程機器錯誤解釋了你的命令。在PowerShell v3中,前面的外部命令使用兩個破折號(“--”)告訴shell照原來的樣子傳遞給Cmd.exe,甚至不用解析。這通常用來解決外部命令語法問題。
遠程規(guī)則
如果你通過遠程桌面連接或者從服務(wù)器直接登錄到遠程機器的控制臺這種方式來成功運行命令的話,那么這條命令不會通過PowerShell Remoting運行,這時你遭遇了“環(huán)境問題”。
使用Invoke-Command、Enter-PSSession或其他方法遠程進入機器以后,不會像登錄到控制臺或者遠程桌面會話那樣得到完整的交互式桌面會話。PowerShell不執(zhí)行概要文件的腳本,并且沒有完整的用戶環(huán)境。我看到大量的命令都是出于這個原因,但也有可能有一些沒有這種問題。
如果你也有這種問題,你可以嘗試在遠程機器上調(diào)度自己的命令。Windows的任務(wù)調(diào)度程序擁有一個完整的用戶帳戶,不能保證能夠修復問題,但值得一試。
以上是“PowerShell遠程運行命令出錯怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞標題:PowerShell遠程運行命令出錯怎么辦
文章轉(zhuǎn)載:http://www.ef60e0e.cn/article/pojdjh.html