ฉันมีปัญหาการพิสูจน์ตัวตนแปลกๆ กับ AZCopy Login และเริ่มสคริปต์ผ่านงานที่จัดกำหนดการเป็นบัญชีบริการที่มีการจัดการแบบกลุ่ม โปรดลองทำตามในขณะที่ฉันพยายามอธิบายขั้นตอนที่ซับซ้อนนี้... TLDR ด้านล่าง
เรามีฐานการผลิตคอมพิวเตอร์ที่ใช้ Windows (PC) ซึ่งบันทึกไฟล์ตามวิดเจ็ตที่สร้างขึ้น เราจำเป็นต้องรักษาสิ่งเหล่านี้ในระยะยาวและต้องการเป็น Azure Blobs ดังนั้นบนพีซีเครื่องนี้เราจึงมีสคริปต์ Powershell (Sync Script) ที่เชื่อมต่อกับบัญชี Azure Storage ด้วย 'AZCopy login...' โดยใช้ Azure Service Principal จากนั้นจะซิงค์ไฟล์จากพีซีไปยัง Azure Blob Container สคริปต์นี้ทำงานได้ดีเมื่อฉันเรียกใช้บนพีซีในฐานะผู้ใช้ของฉันเอง หรือจากพรอมต์ของ Powershell ที่รันเป็นบัญชีบริการที่มีการจัดการกลุ่มในโดเมนของเรา
เรามีเซิร์ฟเวอร์ที่เราเรียกใช้สคริปต์ Powershell ที่แตกต่างกันทั้งหมดจาก (Tasks Server) บนเซิร์ฟเวอร์งานนี้ เรามีสคริปต์ PowerShell อื่น (สคริปต์ Kickoff) ที่จะสร้าง New-PSSession ไปยังพีซีที่กล่าวถึงข้างต้น จากนั้นใช้ Invoke-Command กับ PSSession นั้นเพื่อเรียกใช้ Sync Script ที่กล่าวถึงข้างต้นบนพีซี วิธีนี้ใช้ได้ดีเมื่อฉันเรียกใช้งานบน Tasks Server ในฐานะผู้ใช้ของฉันเอง และเมื่อฉันเรียกใช้งานตามกำหนดการในฐานะผู้ใช้ของฉัน
อย่างไรก็ตาม เมื่อฉันเรียกใช้ powershell เป็น gMSA บน Tasks Server มันล้มเหลวในการเข้าสู่ระบบ AZCopy แม้แต่การพยายามเรียกใช้คำสั่งทีละคำสั่ง ไม่ใช่ในสคริปต์ ก็ยังล้มเหลว ข้อผิดพลาดคือ:
ไม่สามารถดำเนินการคำสั่งเข้าสู่ระบบ: ล้มเหลวในการเข้ารหัสโทเค็น, The
ไม่สามารถดำเนินการตามที่ร้องขอได้ คอมพิวเตอร์ต้องเชื่อถือได้
สำหรับการมอบหมายและต้องกำหนดค่าบัญชีผู้ใช้ปัจจุบันเป็น
อนุญาตให้มอบหมาย
ฉันเรียกใช้ 'Enable-WSManCredSSP -role Client -DelegateComputer' รวมถึง 'Enable-WSManCredSSP -role Server' บนพีซีและเซิร์ฟเวอร์งานโดยไม่มีความแตกต่าง
ใครสามารถช่วยฉันเข้าใจว่าทำไมสิ่งนี้ถึงล้มเหลว
TLDR; บัญชีบริการที่มีการจัดการแบบกลุ่มบน Server1 รันสคริปต์ PowerShell ของงานที่กำหนดเวลาไว้เพื่อสร้าง PSSession และ Invoke-Command บน PC1 PC1 ได้รับการร้องขอและเรียกใช้สคริปต์เป็น GMSA และเรียกใช้การเข้าสู่ระบบ azcopy.exe ด้วย Service Principal และล้มเหลว