2012-09-21 93 views
1

如何編寫可在64位遠程PowerShell可執行文件上打開並運行cmdlet的powershell腳本。在64位Powershell可執行文件上執行cmdlet

我很難找到任何資源,示例或教程,顯示如何編寫連接到遠程服務器的powershell腳本,打開64位Powershell.exe並從中運行cmdlet。我將從32位機器運行此腳本。如果有人有任何例子或想法?

更新:

我發現我可以在遠程機器上先執行可信主機命令,並啓用遠程-PS

Enable-PSRemoting 
cd wsman: 
cd localhost\client 
set-item trustedhosts * 

這樣做了以後,我嘗試連接到我的服務器

Enter-PSSession servername 

給出了這樣的錯誤

The following error occured while using Kerberos authentication: The network path was not found. 

回答

0

如果64位機器配置了PowerShell遠程處理,則默認的PowerShell端點將爲64位。還有一個x86端點已註冊,但這不是默認設置。

關於更新的問題,你在什麼類型的環境?工作組或域名?

如果你在一個域中,事情會更簡單一些。如果雙方都啓用了PowerShell遠程處理(通過Enable-PSRemoting),則您應該能夠按照您嘗試的方式輸入-PSSession服務器名稱。你對遠程機器有管理權限嗎?

由於Kerberos失敗,您可以使用-Authentication參數指定其他身份驗證類型。有效的選項是NTLM,CredSSP和Kerberos。默認爲Negotiate,可能使用Kerberos或NTLM。

您可以使用-Credential參數指定特定憑證。

關於Kerberos錯誤,您可能想要檢查主機是否具有正確的SPN註冊。

Don Jones和Tobias Weltner撰寫了PowerShell Remoting的重要指南 - Found Here它介紹了PowerShell Remoting的許多配置方案。

+0

基於域的我相信,任何我可以運行cmdlet來檢查 – Warz

+0

你有$ env:logonserver的值嗎?如果是這樣,是本地機器還是其他機器的名稱?如果它是另一臺機器,則可能位於一個域中。你也可以檢查$ env:userdnsdomain。如果這是一個域名而不是本地計算機名稱,那麼您就在一個域中。 –

+0

是的,我在一個域中,可能是這個認證錯誤的問題。我如何輸入-PSSession並傳遞我的域用戶名並通過? – Warz

相關問題