จะล็อคผู้ใช้ปกติ (ไม่ใช่ผู้ดูแลระบบ) ระหว่างการติดตั้งซอฟต์แวร์ได้อย่างไร


12

เรามีลูกค้าจำนวนน้อยที่ใช้ Windows Embedded Standard 7 และเซิร์ฟเวอร์ SCCM 2012 R2 เพื่อจัดการพวกเขา ไคลเอ็นต์แบบ thin เปิดใช้งานตัวกรองการเขียน (FBWF) ดังนั้นการเปลี่ยนแปลงเครื่องจะไม่คงอยู่ ในโอกาสที่หายากที่เราต้องอัปเดตบางอย่างเกี่ยวกับพวกเขาเราเพียงแค่ปรับใช้ผ่าน SCCM และดูแลการปิดตัวกรองการเขียนและเปิดใช้งานอีกครั้งโดยอัตโนมัติเพื่อทำการเปลี่ยนแปลง

นี่คือสิ่งที่ควรเกิดขึ้น:
ไคลเอนต์ SCCM แจ้งให้ผู้ใช้ทราบและนับถอยหลัง 30 นาทีเพื่อบันทึกงานและออกจากระบบ ไคลเอ็นต์แบบ thin จะรีบูตและปิดใช้งานตัวกรองการเขียน หน้าจอเข้าสู่ระบบแสดงกุญแจล็อคและแจ้งให้ทราบว่าหน่วยกำลังให้บริการและจะไม่อนุญาตให้ผู้ใช้ทั่วไป (ไม่ใช่ผู้ดูแลระบบ) เข้าสู่ระบบในขณะที่ SCCM กำลังทำมัน เมื่อ SCCM เสร็จสิ้นจะเปิดใช้งานตัวกรองการเขียนเริ่มต้นใหม่จากนั้นผู้ใช้สามารถเข้าสู่ระบบได้อีกครั้ง

ปัญหาที่ฉันมีคือเราใช้เครื่องอ่านบัตรใกล้เคียงเพื่อเข้าสู่ระบบ พนักงานไม่ได้พิมพ์รหัสผ่าน พวกเขาเพียงแค่แตะป้ายของพวกเขา ระบบนี้เป็นสิ่งที่ดี แต่ซอฟต์แวร์ที่รันมันจะแบ่งการทำงานอัตโนมัติของตัวกรองการเขียนด้วย Windows Embedded

นี่คือสิ่งที่เกิดขึ้นจริง :
ไคลเอนต์ SCCM ให้การแจ้งเตือนตามปกติ 15 นาทีก่อนที่จะรีบูตโดยปิดตัวกรองการเขียน เมื่อรีบู๊ตหน้าจอเข้าสู่ระบบปกติจะปรากฏขึ้น ผู้ใช้สามารถเข้าสู่ระบบและใช้งานได้ในขณะที่ SCCM กำลังติดตั้งซอฟต์แวร์ และเนื่องจากเซสชันผู้ใช้แอ็คทีฟจึงแจ้งเตือนอีก 30 นาทีก่อนที่จะรีบูตโดยใช้ฟิลเตอร์การเขียนอีกครั้ง

ในสถานการณ์สมมตินี้ไม่เพียงเพิ่มเวลาการปรับใช้เพิ่ม 30 นาทีเท่านั้น แต่ยังให้ผู้ใช้ทั่วไปมีเวลาที่ไม่มีการป้องกัน 30-60 นาทีสำหรับไคลเอ็นต์แบบ thin ด้วยการเปลี่ยนแปลงใด ๆ ที่พวกเขาทำจะกลายเป็นภาพถาวรเมื่อ ตัวกรองการเขียนกลับมาทำงานอีกครั้ง

ปัญหาเกิดจากข้อเท็จจริงที่ว่า Windows Embedded 7 ใช้ผู้ให้บริการข้อมูลรับรองที่แตกต่างกัน (aka GINA) มากกว่า Windows 7 ปกติ แต่ผลิตภัณฑ์ SSO ต้องแทนที่ผู้ให้บริการข้อมูลประจำตัว Windows เพื่อให้สามารถทำงานได้ ฉันติดต่อผู้ขายแล้ว แต่พวกเขาบอกว่ามันเป็นปัญหาที่ทราบแล้วและไม่มีวิธีแก้ไขหรือวิธีแก้ปัญหา

ดังนั้นนี่คือคำถามของฉัน:
ฉันจะจำลองพฤติกรรมที่ต้องการอีกวิธีได้อย่างไร ฉันรู้ว่ามีการตั้งค่านโยบายกลุ่มที่คุณสามารถปฏิเสธการเข้าสู่ระบบในเครื่องไปยังกลุ่มผู้ใช้ที่เฉพาะเจาะจง ฉันคิดว่าฉันสามารถพลิกการตั้งค่ารีจิสทรีที่เกี่ยวข้องก่อนและหลังการติดตั้ง แต่ฉันเปิดรับความคิดอื่น ๆ

ฉันไม่ได้ติดตั้งสคริปต์ด้านบนถ้าฉันต้อง ฉันคล่องแคล่วในการเขียนสคริปต์ PowerShell, VBScript และอื่น ๆ ฉันแค่สงสัยว่าใครมีความคิดที่สดใสเกี่ยวกับวิธีการแก้ปัญหานี้


ปรับปรุง:
ฉันละเลยที่จะพูดถึงว่ามีการใช้อุปกรณ์เหล่านี้ในสภาพแวดล้อมของโรงพยาบาลเพื่อให้พนักงานทำแผนภูมิในผู้ป่วยของพวกเขา ต้องมีให้ตลอด 24 ชั่วโมงดังนั้นเราจึงไม่สามารถ จำกัด ชั่วโมงการเข้าสู่ระบบหรือกำหนดค่าหน้าต่างการบำรุงรักษา เราจัดการการหยุดทำงานโดยการแจ้งให้ทราบล่วงหน้าเพื่อเลื่อนหัวหน้างาน แต่สิ่งใดก็ตามที่ใช้เวลามากกว่าหนึ่งชั่วโมงจะกลายเป็นปัญหาการปฏิบัติตามกฎหมายและกำหนดให้ขั้นตอนการหยุดทำงานอย่างเป็นทางการมีผล


เป็นคำถามที่ดีมาก ฉันหวังว่าฉันจะได้คำตอบที่ดีกว่า

ดีคำถามหวังว่าเรื่องของความฉิบหายทาให้คนอื่น ๆ จากการซื้อ clients- บางฉันเกลียดทุกสัมภาระเหล่านี้ "การบำรุงรักษาต่ำ" อุปกรณ์ที่นำ
จิม B

คำตอบ:


4

ก่อนที่เราจะไปฉันต้องการสร้างจุดอวดรู้เพื่อประโยชน์ของผู้อ่านทั่วไปมากกว่าตัวคุณ

เราแค่ผลักมันผ่าน SCCM

SCCM เป็นเทคโนโลยีแบบดึง ฉันรู้ว่าคุณหมายถึงอะไร แต่ฉันพบว่ากับผู้ชายระดับ 1 ของฉันทุกโอกาสที่ฉันจะได้รับการเน้นย้ำว่า SCCM ไม่ใช่เทคโนโลยีการผลักดันช่วยให้พวกเขาเข้าใจได้เร็วขึ้น


ฉันติดต่อผู้ขายแล้ว แต่พวกเขาบอกว่ามันเป็นปัญหาที่ทราบแล้วและไม่มีวิธีแก้ไขหรือวิธีแก้ปัญหา

มันแย่มากเพราะมันดูเหมือนว่าสาเหตุของปัญหานี้คือโปรแกรมการตรวจสอบบัตรแบบฝังตัว ให้กับผู้ขายบางทีพวกเขาอาจจะแก้ไขซอฟต์แวร์ของพวกเขา



คำตอบที่แท้จริง - ฉันเห็นวิธีแก้ปัญหาที่เป็นไปได้สำหรับคุณไม่มีคำตอบใดที่ดี

  • กำหนดค่าหน้าต่างการบำรุงรักษาสำหรับไคลเอนต์เหล่านี้เพื่อให้รีบูตครั้งแรกของคุณเพื่อลบไคลเอ็นต์ออกจากตัวกรองการเขียนเพย์โหลดที่แท้จริงของคุณและการรีบูตที่เกิดขึ้นทั้งหมดเกิดขึ้นนอกเวลาทำงานเมื่อพนักงานไม่ได้อยู่ที่อาคาร ดูเหมือนตัวเลือกที่เจ็บปวดน้อยที่สุด ไม่จำเป็นต้องทำให้ SCCM ซับซ้อนกว่านี้อีกแล้ว
  • สร้างเทมเพลตนโยบายกลุ่มท้องถิ่นที่เพิ่มกลุ่มความปลอดภัยให้กับสิทธิ์ผู้ใช้ในการปฏิเสธการเข้าสู่ระบบแล้วกำหนด / ยกเลิกการกำหนดเป็นส่วนหนึ่งของการปรับใช้แอปพลิเคชันของคุณ
  • ใช้ PowerShell เพื่อตั้งค่าผู้ใช้ปฏิเสธการเข้าสู่ระบบทางด้านขวา ฉันเชื่อว่าส่วนขยายชุมชน PowerShell (PSCX)มีSet/Get-Privilegescmdlets ซึ่งจะช่วยให้คุณจัดการการมอบหมายสิทธิ์ผู้ใช้
  • คุณสามารถใช้ API ได้หากต้องการ นี่คือตัวอย่าง

ขอบคุณสำหรับคำตอบ ฉันอัปเดตคำถามเพื่อสะท้อนสภาพแวดล้อม มันคือการดำเนินการ 24x7 ดังนั้นตัวเลือก 1 ไม่ทำงาน ตัวเลือกที่ 2 คือสิ่งที่ฉันคิด แต่ฉันไม่รู้วิธีกำหนด / ยกเลิกการมอบหมาย GPO ตามต้องการ ที่ออกจากตัวเลือก 3 และ 4 ซึ่งฉันจะดู ฉันคิดว่าฉันอาจจะต้องเขียนสคริปต์ของฉันออกไปจากนี้ โอ้และฉันแก้ไขคำศัพท์ :-)
Wes Sayeed

@WesSayeed ตามทฤษฎีแล้วคุณควรจะสามารถสร้างเทมเพลตนโยบายกลุ่มท้องถิ่นด้วย SecPol.msc ให้บันทึกเป็นเทมเพลตและใช้ / ยกเลิกการสมัครsecedit.exeผ่านทางสคริปต์ ฉันไม่ได้พูดถึงการใช้นโยบายกลุ่ม Active Directory เนื่องจากเวลาการสุ่มเลือกตั้งไม่สามารถใช้งานได้กับหน้าต่างการบำรุงรักษาที่แน่นหนาของคุณ

+1 ฉันชอบคำตอบนี้และไม่รู้จัก PSCX
MDMoore313

4

ดูเหมือนว่าไม่มีใครแตะต้องความเป็นไปได้ในการใช้ลำดับงานเพื่อจัดการเรื่องนี้ดังนั้นให้ฉันแสดงรายการผลประโยชน์ (สมมติว่าคุณไม่คุ้นเคยกับสิ่งเหล่านี้โดยทั่วไป แต่โปรดอ่านแม้ว่าคุณจะเป็น):

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

ไม่มีการบันทึกลงในเวิร์กสเตชัน

TS ดำเนินการก่อนที่ winlogon.exe จะทำงานดังนั้นจึงไม่มีความเป็นไปได้ที่ผู้ใช้จะเข้าสู่ระบบโดยไม่ได้ตั้งใจเนื่องจากไม่มีหน้าต่างเข้าสู่ระบบ ซึ่งนำฉันไปสู่จุดที่สอง:

หน้าจอพื้นหลังที่กำหนดเอง

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

TS เป็นสคริปต์ที่น่ายกย่องจริงๆ แต่มันมีฟังก์ชั่นมากมายและรวมตัวกันเพื่อลดเวลาในการพัฒนาและฉันพบว่ามีการใช้เคสนอกเหนือจาก OSD

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


1
+1 ฉันสงสัยอยู่เสมอว่ามีการใช้งานจริงตามลำดับงานที่ไม่ใช่ OSD หรือไม่
alx9r

@BigHomie; ฉันเพิ่งลองปรับใช้โดยใช้ลำดับงานแทนแอปพลิเคชันทั่วไปและไม่ได้ป้องกันการเข้าสู่ระบบของผู้ใช้ ขั้นตอนแรกในลำดับของงานคือการรีคอมพิวเตอร์ เมื่อคอมพิวเตอร์กลับมามันจะแสดงหน้าจอเข้าสู่ระบบปกติ ลำดับของงานจะไม่กลับมาทำงานอีกจนกระทั่งประมาณหนึ่งนาทีต่อมา (เนื่องจากบริการถูกตั้งค่าให้เริ่มการทำงานล่าช้า) ฉันสามารถตั้งค่าบริการให้เริ่มต้นทันทีด้วยนโยบายกลุ่มเพื่อให้ผู้ใช้เห็นแถบความคืบหน้า แต่นั่นจะเป็นการกีดกันการเข้าสู่ระบบเท่านั้นไม่ได้ป้องกันพวกเขา ฉันพลาดอะไรไปรึเปล่า?
Wes Sayeed

@WesSayeed !! TS นั้นโฆษณากับผู้ใช้หรือคอมพิวเตอร์หรือไม่?
MDMoore313

@BigHomie; AFAIK, ลำดับงานสามารถลงโฆษณาในคอลเล็กชันคอมพิวเตอร์เท่านั้น
Wes Sayeed

ถูกต้องฉันลืมไปเลย โชคไม่ดีที่ฉันทำงานใหม่เมื่อปีที่แล้วและออกจากเกม sccm มาระยะหนึ่งแล้ว ฉันจะค้นหาคำตอบต่อไป แต่ฉันคิดว่ากลไกแบบเดียวกันกับที่อนุญาตให้ซอฟต์แวร์ติดตั้งระหว่าง OSD ก่อนที่หน้าจอเข้าสู่ระบบจะปรากฏขึ้นนอก OSD เช่นกัน ฉันสมมติว่าคุณไม่สามารถปรับใช้หากเครื่องบู๊ตไปยัง WinPE ถูกต้องหรือไม่
MDMoore313

2

คุณไม่ได้ระบุว่าซอฟต์แวร์ SSO ใช้ข้อมูลรับรอง Active Directory หรือไม่ดังนั้นโซลูชันจะใช้ฟังก์ชัน "Logon Hours" ของ Active Directory มันอยู่ในระดับต่อผู้ใช้ แต่สามารถสคริปต์ได้อย่างง่ายดายใน Powershell ( นี่เป็นตัวอย่าง) โดยทั่วไปตั้งค่าชั่วโมงการเข้าสู่ระบบเป็น "ปฏิเสธ" การเข้าสู่ระบบที่หน้าต่างอัปเดต SCCM ของคุณและผู้ใช้จะไม่สามารถเข้าสู่ระบบไคลเอนต์ในขณะที่ SCCM ทำสิ่งนั้น คุณจะต้องมีการรีบูตครั้งแรกซึ่งบังคับให้ออกจากระบบ (ฟังก์ชั่นชั่วโมงการเข้าสู่ระบบไม่สามารถใช้งานได้กับผู้ใช้ที่เข้าสู่ระบบ) แต่ไม่เช่นนั้นจะไม่ลำบากในการติดตั้ง


ซอฟต์แวร์ SSO ใช้โฆษณา ทั้งหมดจะตรงกับแท็ก RFID กับบัญชี AD และส่งข้อมูลรับรองผ่านทาง Windows เพื่อทำการเข้าสู่ระบบ ฉันอัปเดตคำตอบของฉันเพื่ออธิบายว่าทำไมฉันไม่สามารถใช้ชั่วโมงการเข้าสู่ระบบ (ฉันไม่ได้พูดถึงสภาพแวดล้อม) แต่ฉันจะดูสคริปต์ที่คุณอ้างอิง ฉันอาจทำอะไรแบบนี้ในพื้นที่
Wes Sayeed

-1

อาจต้องการทดสอบสิ่งนี้และดูว่าทำงานหรือไม่:

สคริปต์ที่เริ่มต้นของกิจกรรม SCCM เพื่อทำสิ่งต่อไปนี้:

  • ลบข้อมูลเฉพาะตัวของผู้ใช้ NT AUTHORITY \ รับรองความถูกต้องจากกลุ่มผู้ใช้ท้องถิ่น
  • ลบข้อมูลเฉพาะตัวของ NT AUTHORITY \ Interactive จากกลุ่มผู้ใช้ภายใน
  • ลบกลุ่มผู้ใช้โดเมนออกจากกลุ่มผู้ใช้ท้องถิ่น

ในตอนท้าย:

เพิ่มหลักการรักษาความปลอดภัยที่คุณลบกลับไปไว้ในกลุ่มผู้ใช้ภายใน

กลุ่มจริงที่คุณเพิ่ม / ลบอาจขึ้นอยู่กับการกำหนดค่าคอมพิวเตอร์ของคุณในปัจจุบัน

มีจุดจอดรถพ่วงอีกเล็กน้อยจุดเริ่มต้นของกิจกรรม SCCM สามารถคัดลอกทางลัดไปยัง logoff.exe ไปยังโฟลเดอร์ Menu \ Startup ของผู้ใช้ทั้งหมด (โดยทั่วไปคือเมนู \ Programs \ Startup C: \ ProgramData \ Microsoft \ Windows \ Start C: \ ProgramData \ Microsoft \ Windows \ Start นี่จะมีผลของการออกจากเซสชันทันทีที่พวกเขาเข้าสู่ระบบ เพื่อความปลอดภัยคุณอาจต้องมีสคริปต์เริ่ม / ปิดเพื่อลบทางลัดนั้น (ฉันเชื่อว่าทางลัดเริ่มต้นอาจถูกข้ามโดยกดปุ่ม Shift ค้างไว้ระหว่างการเข้าสู่ระบบ)


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