ฉันจะเรียกใช้สคริปต์ในฐานะผู้ดูแลระบบภายในคอนเทนเนอร์ Windows ได้อย่างไร


14

ฉันพยายามที่จะติดตั้งวินโดวส์เอ็นเตอร์ไพรส์ WDKบนหางของภาพขึ้นอยู่กับwindowsservercore แอปพลิเคชั่นติดตั้งโดยการคลายซิปและฉันได้ทำไปแล้วและยืนยันภาพนั้นให้กับ Docker ตอนนี้ฉันต้องเรียกใช้สคริปต์ที่ตั้งค่าตัวแปรสภาพแวดล้อม ตามคำแนะนำในการติดตั้ง Enterprise WDK ฉันต้องเรียกใช้สคริปต์นี้ในฐานะผู้ดูแลระบบ ฉันทำสิ่งนี้โดยตรงบนเครื่องเดสก์ท็อปของฉันและใช้งานได้กับไฟล์ ภายใน Docker Container ผู้ใช้เข้าสู่ระบบเริ่มต้นคือ

PS C:\> whoami
user manager\containeradministrator

ฉันได้ลองเปิดใช้งานบัญชีผู้ดูแลระบบแล้ว

PS C:\> net user administrator /active:yes
The command completed successfully.
PS C:\> net user administrator Pa$$w0rd
The command completed successfully.

ฉันพยายามเริ่มเชลล์ในฐานะผู้ดูแลระบบ แต่ผู้ใช้จะไม่เปลี่ยนแปลง

PS C:\> runas /user:administrator powershell
Enter the password for administrator:
Attempting to start powershell as user "C597C386289A\administrator" ...
PS C:\> whoami
user manager\containeradministrator

และถ้าฉันรันสคริปต์มันก็ล้มเหลวที่จะตั้งค่าสภาพแวดล้อมใด ๆ ที่ระบุในสคริปต์

ข้อเสนอแนะ?


2
คุณจัดการเพื่อแก้ปัญหานี้หรือไม่?
fons

1
คุณอาจมีปัญหากับUACคุณสามารถปิดการใช้งานชั่วคราวได้หรือไม่ runas ตามที่คุณเขียนมันไม่อนุญาตให้เปิดพร้อมท์คำสั่งให้ดูที่นี่ ฉันจะลอง NirCmd :-)
simlev

1
คุณเชื่อมต่อกับภาชนะบรรจุอย่างไร? RDP? PowerShell ระยะไกล?
harrymc

1
@harrymc เรียกใช้คอนเทนเนอร์ในโหมดโต้ตอบ
Daniel

1
เนื่องจากบัญชีผู้ดูแลระบบภายในเป็นบัญชีที่พิเศษมากอาจจำเป็นต้องลงชื่อเข้าใช้ ทำไมคุณไม่สามารถใช้บัญชีผู้ดูแลระบบ "ปกติ" อีกบัญชีได้
harrymc

คำตอบ:


6

ปัญหาของคุณไม่ได้รับสิทธิ์ไม่เพียงพอเลย ดูบทความนี้

UAC ไม่พร้อมใช้งานใน Server Core เนื่องจากเป็นบรรทัดคำสั่งเฉพาะส่วนติดต่อไม่มี IE หรือรองรับแอปพลิเคชันผู้ใช้ นอกจากนี้ในการใช้ UAC ด้วยพรอมต์คำสั่งคุณต้องมี Explorer เชลล์เพื่อให้คุณสามารถคลิกเริ่มคลิกขวาที่พร้อมรับคำสั่งแล้วเลือกเรียกใช้ในฐานะผู้ดูแลระบบซึ่งไม่สามารถเห็นได้ชัดบนเซิร์ฟเวอร์คอร์

คุณกำลังใช้คำสั่งในฐานะผู้ดูแลระบบอยู่แล้วมิฉะนั้นคำสั่งเช่น

net user administrator Pa$$w0rd

คงจะล้มเหลวอย่างหลีกเลี่ยงไม่ได้

ปัญหาของคุณเป็นอย่างอื่น

ดูที่นี่ Windows Server Core ไม่รองรับการติดตั้ง WDK เกี่ยวกับการตั้งค่าตัวแปรสภาพแวดล้อมบนเซิร์ฟเวอร์คอร์ดูคำตอบนี้

คุณควรดูที่สคริปต์และสิ่งที่มันทำจริงถ้ามันใช้คำสั่ง SET หรือ SETX หรืออย่างอื่นและคุณสามารถหาเบาะแสว่าทำไมตัวแปรไม่ถูกตั้งค่าอย่างถูกต้อง อาจเป็นเพราะตั้งค่าไว้อย่างถาวร แต่ไม่ได้อยู่ในหน้าต่างปัจจุบันของคุณ


2
ฉันได้เปลี่ยนsetคำสั่งโดยsetxพยายามแก้ไขปัญหาอื่น ๆ นั่นคือสิ่งที่พาฉันไปสู่เส้นทางของการพยายามรับสิทธิ์ผู้ดูแลระบบที่แท้จริง
แดเนียล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.