2016-03-31 30 views
4

我試圖通過Invoke-Command遠程運行Get-ScheduledTask。 該用戶是非管理員,但是「遠程管理用戶」的一部分。 PS-Remoting工作正常。 在本地運行命令正常工作。 但通過調用命令運行它讓我以下錯誤:從非管理員用戶下運行PS cmdlet - 訪問被拒絕

Cannot connect to CIM server. Access denied 
    + CategoryInfo   : ResourceUnavailable: (MSFT_ScheduledTask:String) [Get-ScheduledTask], CimJobException 
    + FullyQualifiedErrorId : CimJob_BrokenCimSession,Get-ScheduledTask 
    + PSComputerName  : us-web1 

下面的代碼示例:

注:這是直接有關的非管理員用戶下運行。

$servers = "us-web1","us-web2","us-engine1","us-engine2","us-engine3","us-engine4" 

foreach ($server in $servers) { 

Invoke-Command -ComputerName "$server" -ScriptBlock { 

     get-scheduledtask 
    } 
} 
+0

你能後的代碼片段?我假設,你連接的管理信用和使用用戶信用「內部」此連接,不會遇到無法訪問,因爲連接也與有限的訪問權限 – Martin

+0

我實際上運行shell本身作爲用戶題。 我會馬上添加代碼。 – JustAGuy

+0

他們可能有權運行該命令,但不能遠程連接以運行它們。有這樣的幫助嗎? http://msgoodies.blogspot.ca/2009/09/using-ps-session-without-having.html。我期待着看看這裏是否有這樣的蠢事。 – Matt

回答

0

這可能是未通過憑證的問題。嘗試添加獲取憑證並將其添加到您的invoke命令中。您可以使用相同的信用,只需直接傳遞它即可。

像這樣:

$Cred = Get-Credential Invoke-Command -Credential $Cred -ScriptBlock {Get-ScheduledTask}

+0

沒有幫助我害怕。 – JustAGuy

2

我在和嘗試遠程使用Get-打印機命令沒有管理員憑據一個非常類似的問題。

我發現真的幫了此鏈接: https://social.technet.microsoft.com/Forums/exchange/en-US/b748d1bb-fa97-4c30-a626-145dfbc40873/service-acccount-permission-to-remote-powershell-to-dns-server-on-windows-server-2012?forum=winserverpowershell

,我用我的問題的過程是:

  1. 打開計算機管理控制檯。右鍵單擊WMI控制(在「服務和應用程序」下)並單擊屬性。

  2. 在新打開的窗口中,單擊安全選項卡。

  3. 展開根樹,然後點擊節點CIMV2,然後單擊按鈕安全

  4. 在新打開的窗口中單擊高級按鈕。

  5. 在新打開的窗口中,單擊權限選項卡下的按鈕添加。

  6. 在新打開的窗口中,單擊「選擇一個委託人」,然後搜索並添加想要訪問的帳戶或組作爲委託人,然後單擊確定。

  7. 在適用的情況下,選擇「this namespace and subnamespace」。

  8. 對於權限,請選中「執行方法」,「啓用帳戶」和「遠程啓用」在所有打開的對話盒

  9. 點擊接受

  10. 重啓WMI服務

  11. 嘗試再次遠程運行您的命令。它會再次失敗,但這次你會看到真正的問題。查看「拒絕權限」錯誤,然後按照上述步驟進行操作,並授予對所示路徑的訪問權限。

希望這有助於

+0

有趣... 我一定會試一試,稍後再更新。 – JustAGuy