爲了使其發揮作用,您必須配置本地和遠程計算機。
在遠程服務器上,運行以下命令:
Enable-WSManCredSSP -Role server
你會知道,如果你運行Get-WSManCredSSP
cmdlet的事情正確confgured並得到下面的輸出:
The machine is not configured to allow delegating fresh credentials. This computer is configured to receive credentials from a remote client computer.
在本地計算機上,從管理PowerShell提示符處,您需要允許在PowerShell中進行憑據委託。運行以下命令:
Enable-WSManCredSSP -Role Client -DelegateComputer <REMOTE_COMPUTER_NAME>
您可以通過使用*爲REMOTE_COMPUTER_NAME
使所有服務器。
The machine is configured to allow delegating fresh credentials to the following target(s): wsman/REMOTE_SERVER_NAME
This computer is not configured to receive credentials from a remote client computer.
在本地計算機,更新組策略,讓您的憑據委託給:
你會知道這個,當你運行Get-WSManCredSSP並得到下面的輸出配置正確遠程服務器。
- 打開gpedit.msc並瀏覽到Computer Configuration> Administrative Templates> System> Credentials Delegation。
- 雙擊「允許使用僅限NTLM的服務器身份驗證委託新憑據」。
- 啓用設置並將生成服務器添加到WSMAN/BuildServerName的服務器列表中。 (您可以通過輸入WSMAN/*啓用所有服務器。)
然後,當你需要在遠程服務器上運行命令,你不能使用任何的* -PSSession的命令因爲能的CredSSP不使用緩存的憑據。你必須開始使用Invoke-Command
的會話,使用的CredSSP作爲值的驗證參數,像這樣:
Invoke-Command -ScriptBlock { # remote commands here } `
-ComputerName <REMOTE_COMPUTER_NAME> `
-Authentication CredSSP `
-Credential <USERNAME>
在dos shell命令'dir \\ server \ share \ folder'中沒有提示錯誤? –
這是正確的。也許我應該寫「dir \\ MyServer \ MyShare \ MyFolder」。我確實發現我需要設置CredSSP,我做了,但仍然收到一個超時值,然後是Enable-WSManCredSSP:由於無法啓用該設置,因此無法執行此命令。如果沒有網絡連接,就會發生這種情況。 –
現在,我使用gpedit.msc來允許在這兩臺計算機上使用新的證書。我設置了新的證書策略,並使用'enable-wsmancredssp -role client -delegatecomputer computer1.domain.com'和'enable-wsmancredssp -role server'命令。對於狀態,我執行'Get-WSManCredSSP',我得到 **機器配置爲允許將新的憑據委託給以下目標:wsman/computer1.domain.com,wsm 和/ *。domain.com。這臺計算機被配置爲從遠程客戶端計算機接收憑證。**我找不到其他任何人要執行的操作,但它仍然無法運行! –