2009-11-17 51 views
1

遠程過程,我有以下行的代碼來創建對象來訪問遠程服務器之前,我的用戶名,密碼,並對其進行處理相關聯:運行通過PowerShell的

$process = [WMIClass]"\\remoteServer\ROOT\cimv2:Win32_Process" 

我想這在兩臺PC,一個是沒有任何錯誤,但另一個我要去運行有一個例外:

Cannot convert value "\\remoteServer\ROOT\cimv2:Win32_Process" to type "System.Manage 
    ment.ManagementClass". Error: "Access is denied. (Exception from HRESULT: 0x800 
    70005 (E_ACCESSDENIED))" 

remoteserver是同一個。不知道我必須在本地PC或遠程PC上設置這個功能嗎?在兩臺客戶端PC上,用戶名都是管理員的成員。

回答

11

你有沒有考慮尋找到PowerShell遠程處理?如果你正在運行的PowerShell 2.0,我建議你看看它。一旦你已經設置了遠程處理,你就可以使用Invoke命令在遠程服務器上執行命令:

Invoke-Command -ComputerName {serverName} –ScriptBlock { commands } 

該腳本塊可以包含任何PowerShell命令,所以你就可以在遠程計算機上啓動進程有了這個機制。要啓用遠程處理,您需要使用Enable-PSRemoting cmdlet,並且您可以在http://blogs.msdn.com/powershell/archive/2009/04/30/enable-psremoting.aspxhttp://technet.microsoft.com/en-us/library/dd819498.aspx

+0

不幸的是,我無法安裝PS 2.0,因爲它需要通過網絡許可不可用的SP 3。 – 2009-11-23 21:01:39

+0

你見過這個http://forums.asp.net/p/1225290/2198163.aspx – 2009-11-23 21:44:57

1

中獲得此詳細信息在遠程機器上:

「GET-ExecutionPolicy」

這聽起來像其設爲「限制」,這意味着它不會運行任何「援引-命令」命令,或遠程腳本。

您可以將其更改爲7 1的選擇:

  1. Unrestricted_ _ __(最不安全的,但如果您需要解決設置這個選項)
  2. 下RemoteSigned __(只會所有腳本與簽名,這是一個如此如此選擇)
  3. AllSigned_ _ __ _ _(最好的選擇如果youu需要運行遠程腳本,但都將齋簽署)
  4. Restricted_ _ ___(我相信此選項默認情況下,在Windows 7中NAD WS2K8)
  5. 默認
  6. 繞道
  7. 設置未定義