พบหัวข้อนี้ที่ช่วยให้ฉันได้รับสิ่งที่ฉันต้องการ เพื่อรับคุณลักษณะผู้ใช้ AD ใด ๆ ลงในตัวแปรสภาพแวดล้อม สคริปต์นี้ใช้คุณสมบัติที่ต้องการทั้งหมดจากผู้ใช้ที่เข้าสู่ระบบและตั้งค่าตัวแปรสภาพแวดล้อมที่สอดคล้องกัน ฉันนำหน้าตัวแปร แต่เป็นตัวเลือกชื่อตัวแปรจึงกลายเป็น "AD [ชื่อแอตทริบิวต์]" คุณสมบัติเป็นตัวเลือกของคุณเพียงแค่เพิ่มหรือลบคุณลักษณะของคุณหลังจาก -attr ไม่มีประโยชน์อย่างมากสำหรับคุณลักษณะหลายค่า ค่าสุดท้าย (หนึ่ง) เข้าสู่ตัวแปรสภาพแวดล้อม
สคริปต์นี้เป็นท้องถิ่นถึง cmd.exe ปัจจุบัน
for /F "tokens=1,* delims=: " %%A in ('dsquery * domainroot -l -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=%USERNAME%))" -attr adminDescription employeetype company department physicalDeliveryOfficeName street title mail') do set AD%%A=%%B
เพื่อให้ได้ตัวแปรสภาพแวดล้อมทั่วโลกใน windows เราสามารถใช้ "setx" ใน windows 7 (สำหรับการเข้าสู่ระบบบางที ... แต่ช้าลงมาก)
for /F "tokens=1,* delims=: " %%A in ('dsquery * domainroot -l -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=%USERNAME%))" -attr adminDescription employeetype company department physicalDeliveryOfficeName street title mail') do set AD%%A=%%B& setx AD%%A "%%~B" > NUL
: EDIT: อักขระเว้นวรรคที่จุดสิ้นสุดของคำสั่ง set ในตัวอย่างที่ 2 ทำให้ค่าจบด้วยช่องว่าง ลบออกเพื่อแก้ไข (ตั้งค่า %% A = %% B & setx ... ) นอกจากนี้ยังพบว่าคุณต้องส่งออกแอตทริบิวต์อย่างน้อยสองรายการเพื่อให้สคริปต์ทำงานได้อย่างถูกต้อง
การตอบกลับช้า แต่ถ้ามันช่วยได้ทุกคนที่นั่นฉันมีความสุข