簡體   English   中英

在非管理員用戶下從遠程運行PS cmdlet - 訪問被拒絕

[英]Running PS cmdlets from remote under non-admin users - Access Denied

我正在嘗試通過Invoke-Command遠程運行Get-ScheduledTask。 用戶是非管理員,但是“遠程管理用戶”的一部分。 PS-Remoting工作正常。 在本地運行命令工作正常。 但是通過Invoke-Command運行它會出現以下錯誤:

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
    }
}

嘗試在沒有管理員憑據的情況下遠程使用get-printer命令時遇到了類似的問題。

我發現真正幫助的是這個鏈接: https//social.technet.microsoft.com/Forums/exchange/en-US/b748d1bb-fa97-4c30-a626-145dfbc40873/service-acccount-permission-to-remote-powershell -to-DNS服務器上,Windows的服務器-2012?論壇= winserverpowershell

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

  1. 打開計算機管理控制台 右鍵單擊WMI Control(在“服務和應用程序”下),然后單擊“屬性”。

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

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

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

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

  6. 在新打開的窗口中,單擊“選擇主體”,然后搜索並添加要作為主體訪問的帳戶或組,然后單擊“確定”。

  7. 在apply中,選擇“this namespace and subnamespace”。

  8. 要獲得權限,請選中“執行方法”,“啟用帳戶”和“遠程啟用”

  9. 在所有打開的對話框上單擊“接受”

  10. 重啟WMI服務

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

希望這可以幫助

這可能是憑證無法通過的問題。 嘗試添加get-credential並將其添加到invoke-command。 您可以使用相同的信用卡,只需嘗試直接傳遞即可。

像這樣:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM