ฉันกำลังสร้างผู้ใช้ (ในพื้นที่) เพื่อให้บริการ Windows ทำงานเป็น ฉันมีเหตุผลที่ดีที่ไม่ต้องการใช้บริการเครือข่ายบริการท้องถิ่นหรือระบบท้องถิ่น
ฉันสร้างผู้ใช้ผ่านnet user foobar "Abcd123!" /add
- สิ่งนี้ใช้ได้ดี
ณ จุดนี้c:\users\foobar
ไม่มีอยู่
ถ้าฉันสร้างโฮมไดเร็กตอรี่ของผู้ใช้ก่อนที่ผู้ใช้จะเข้าสู่ระบบ (หรือมากกว่านั้นอย่างต่อเนื่อง) หรือบริการที่ผู้ใช้กำลังเริ่มต้นขึ้น Windows จะสร้างโปรไฟล์ผู้ใช้ถัดไปที่เรียกว่าc:\users\foobar-{gibberish/SID/whatever}
นี่ไม่ใช่ชื่อที่คาดเดาได้
ฉันต้องการไดเรกทอรีบ้านของผู้ใช้จะมีสิ่งที่ต้องการ.ssh
ไดเรกทอรีเป็น.gitconfig
- เครื่องมือเช่นนั้น (ไม่ จำกัด เครื่องมือเหล่านั้น) ~/...
ที่ทำให้สมมติฐานว่ามันจะเป็นคนที่ใช้พวกเขาและเพื่อให้ผู้ใช้กำหนดค่าไปภายใน โดยปกติแล้วเครื่องมือจาก Unix ที่สืบทอดกันมา
คำถามจริง
ดังนั้น - มีวิธีเขียนโปรแกรม (โดยเฉพาะอย่างยิ่ง, PowerShell หรือบรรทัดคำสั่งนอกกรอบ) เพื่อบอกให้ Windows สร้างโปรไฟล์ผู้ใช้สำหรับผู้ใช้ภายในหรือไม่?
หรือวิธีแก้ไขอื่น ๆ
สิ่งที่ฉันยังไม่ได้ลอง:
- NSSM start / pre hook ที่คัดลอกไฟล์จากที่อื่นไปยังไดเร็กทอรีโปรไฟล์ผู้ใช้ที่หวังว่าจะมีอยู่ ณ จุดนี้โดยอาศัยWindows ที่เริ่มให้บริการสร้างโปรไฟล์ผู้ใช้จากนั้นมอบการควบคุมไปยัง wrapper NSSM ที่รัน hook ก่อนเริ่มทำงาน
- การตั้งค่าตัวแปรสภาวะแวดล้อม USERPROFILE เพื่อให้บริการอยู่ที่อื่นนอกเหนือจากไดเร็กทอรีโปรไฟล์ผู้ใช้จริง สิ่งนี้ทำให้ฉันเป็นอันตรายนอกระบบสกี แต่ก็อาจทำงานได้ดี
บริบทอื่น ๆ :
- Windows Server 2016 ประสบการณ์เดสก์ท็อป
- ไม่สามารถใช้คอร์ / นาโน
- ไม่มีไดเรกทอรีที่ใช้งานอยู่ในการเล่น จะไม่มี
- เหล่านี้คือผู้ใช้ท้องถิ่น
- ฉันทำสิ่งนี้ผ่าน Ansible ซึ่งใช้ PowerShell ภายใต้ประทุนสำหรับสิ่งต่าง ๆ ของ Windows โมดูลwin_userโดยเฉพาะพร้อมAnsible 2.7.5
- ฉันไม่ต้องการสร้าง
C:\users\default
(เทียบเท่า/etc/skel
) เนื่องจากมีผู้ใช้บริการที่แตกต่างกันไม่กี่คนและขนาดหนึ่งขนาดจะไม่พอดีทั้งหมด สิ่งนี้จะไม่ส่งผลกระทบเมื่อสร้างโปรไฟล์ผู้ใช้สิ่งที่จะอยู่ในโปรไฟล์จะเป็นเช่นนั้น - ฉันใช้NSSMเพื่อจัดการบริการ
สิ่งที่ฉันได้ลอง
- เริ่มบริการและการอนุญาตให้ Windows สร้างไดเรกทอรี
- ฉันไม่ต้องการทำเช่นนี้เพราะบริการต้องการความลับก่อนเริ่มต้นดังนั้นถ้าฉันทำสิ่งนี้ภายในกระบวนการอบภาพของฉันฉันจะต้องล้างพวกเขาให้สะอาดและตรวจสอบให้แน่ใจว่าบริการของฉันไม่ได้ทำ งานใด ๆ ในระหว่างขั้นตอนการอบ ฉันต้องการหลีกเลี่ยงบิตที่ยุ่งยิ่งเหล่านั้น
net user
มี (เช่น/HOMEDIR
หรือ/PROFILEPATH
)? .net user /help
ดู จากความเข้าใจของฉัน (ยังไม่ทดลอง) คุณสามารถสร้างไดเรกทอรีสำหรับผู้ใช้และตั้งค่านี้เป็น homedir ด้วย/HOMEDIR
สวิตช์