[英]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上的組策略編輯器,導航至:
計算機配置>管理模板>系統>憑據委派
啟用以下選項:
這兩個策略都需要將服務器B添加到允許列表中,並且允許使用通配符。 請注意,如果您使用服務器A的RDP,則還需要添加TERMSRV/*
從服務器A運行Invoke-Command時,請包含-Authentication CredSSP
參數。
請注意,如果將SecureStrings保存在某個位置以用於憑證以連接到服務器C,則需要使用固定的加密(指定字節數組)或純文本並將其轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.