[英]Run remote process by 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上,用戶名都是Administrators的成員。
您是否考慮過研究PowerShell遠程處理? 如果您運行的是PowerShell 2.0,建議您看看它。 一旦設置了遠程處理,就可以使用Invoke-Command在遠程服務器上執行命令:
Invoke-Command -ComputerName {serverName} –ScriptBlock { commands }
ScriptBlock可以包含任何powershell命令,因此您將能夠使用此機制在遠程計算機上啟動進程。 要啟用遠程處理,您需要使用Enable-PSRemoting cmdlet,您可以在http://blogs.msdn.com/powershell/archive/2009/04/30/enable-psremoting.aspx和http:中獲取詳細信息。 //technet.microsoft.com/zh-CN/library/dd819498.aspx
您是否有某些不想使用psexec的原因?
http://technet.microsoft.com/zh-cn/sysinternals/bb545027.aspx
我知道這是一篇舊文章,但是我認為您需要做的是在遠程計算機上運行以下命令:
“獲取執行政策”
聽起來好像設置為“ Restricted”(受限制),這意味着它將不會運行任何“ Invoke-Commands”命令或遠程腳本。
您可以將其更改為7個選項之一:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.