簡體   English   中英

Powershell調用命令多跳

[英]Powershell invoke-command multihopping


我對Windows環境中的多跳有疑問。
假設我有一個在服務器A上運行的調度程序(中央調度程序),該調度程序在服務器B上執行命令。此腳本包含一個調用,用於將文件保存在遠程文件管理器(UNC路徑,服務器C)上。 躍點1(從A到B)運作良好,躍點2(從B到C)失敗。 我已經測試過將文件本地保存在服務器B上,可以正常工作。 我認為第二跳存在問題。 我記得前一陣子在論壇上讀過類似的文章,但不記得有什么解決方法。
詳細而言,命令如下所示:

$session = New-PSSession -computer ComputerName    
$templatepath = "\\filerpath\"
Invoke-Command -Session $session -Scriptblock { powershell ovpmutil cfg pol dnl $Using:templatepath /p \BSH }

需要說明的是:執行第二跳時,Powershell給我一個“訪問被拒絕”的信息。 我已經啟用憑據委派,如下所述: 啟用多跳遠程
任何幫助表示贊賞。
提前致謝

如果您問我,解決方案將給您帶來巨大的痛苦,但這是...

在原始服務器(A)上:

Set-Item WSMAN:\localhost\client\auth\credssp -value $true

在中間服務器(B)上:

Set-Item WSMAN:\localhost\client\auth\credssp -value $true

打開服務器A上的組策略編輯器,導航至:

計算機配置>管理模板>系統>憑據委派

啟用以下選項:

  • 允許委派新憑證
  • 允許通過僅NTLM服務器身份驗證委派新憑據

這兩個策略都需要將服務器B添加到允許列表中,並且允許使用通配符。 請注意,如果您使用服務器A的RDP,則還需要添加TERMSRV/*

從服務器A運行Invoke-Command時,請包含-Authentication CredSSP參數。

請注意,如果將SecureStrings保存在某個位置以用於憑證以連接到服務器C,則需要使用固定的加密(指定字節數組)或純文本並將其轉換。

暫無
暫無

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

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