เตือนผู้ใช้หากพวกเขาพยายามออกจากระบบ


10

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

มีนโยบายกลุ่มเพื่อปิดใช้งานปุ่มออกจากระบบบน startmenu และในกล่องโต้ตอบ CTRL-ALT-DEL อย่างไรก็ตามสิ่งที่ฉันต้องการคือมากกว่า http://msdn.microsoft.com/en-us/library/ms811998.aspxซึ่งดูเหมือนไม่อยู่ในเซิร์ฟเวอร์ 2008 R2 หรือว่าฉันหายไป?

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

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

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


18
นี่เป็นแผนโง่ที่เห็นได้ชัดว่าบรรเทาอาการของปัญหาทางระบบได้หลายอย่างมากกว่าที่จะแก้ไขอะไร แนวทางการกระทำนี้กำลังสร้างปัญหา ทำตามสัญญานี้และไม่เคยทำงานกับพวกเขาอีกเลย
Michael Hampton

1
นอกเหนือจากการเป็นคนโง่ที่ต้องทำและทำแล้วมันยังเป็นสิ่งที่คนอื่นจะไม่ได้รับประโยชน์จากการรู้วิธีการทำ มันจะสร้างปัญหาเท่านั้นดังนั้นการลงคะแนนให้ปิด
HostBits

3
ในขณะที่ฉันเห็นด้วยมันเป็นแผนที่โง่และฉันไม่รู้แรงจูงใจฉันสามารถพูดได้ว่าฉันจะได้รับประโยชน์จากวิธีการแก้ปัญหาที่คล้ายกัน เราทุกคนต้องจัดการกับซอฟต์แวร์ที่ล้าสมัยเช่น "deamon" ที่มีหน้าต่าง @ # $ @ # $ @ ที่สร้างขึ้นใน VB6 และไม่ได้เรียกใช้เป็นบริการเพราะมันมีข้อความป๊อปอัพทั้งหมดและคุณจะสิ้นสุด ด้วยสคริปต์ AuthoHotKey คลิกที่ตกลงเมื่อใดก็ตามที่เกิดขึ้น ... ดังนั้นการป้องกันการออกจากระบบจะเป็นประโยชน์ ...
ETL

1
@MichaelHampton คุณครับถูกต้องอย่างแน่นอน ฉันควรจะเพิ่ม "ฉันต้องการทำเช่นนี้เพื่อให้ฉันสามารถรับเงินแล้วไม่เคยทำงานให้พวกเขาอีกครั้ง" ETL ชี้ให้เห็นว่ามีความเลวร้ายแบบดั้งเดิมอยู่ที่นั่น ... และเมื่อ Cheekaleak ชี้ให้เห็นคำตอบของคำถามนี้จะมีส่วนทำให้เกิดความเลวร้ายในโลก ต้องบอกว่าฉันยังคงต้องการแฮ็คและทำ
dfstandish

รูตอยู่ที่ไหน? ถ้ามันเป็นเหมือนผมและคุณจำเป็นต้องมีกระบวนการ / แอปที่จะทำงานเป็นผู้ใช้ที่มีเซสชั่นสก์ท็อปแบบโต้ตอบแล้วคุณจะมีลักษณะที่ได้รับ FireDaemon และการติดตั้งบริการที่วิ่งเป็นผู้ใช้ที่หา app ที่มี Session ของ 0.
TheCleaner

คำตอบ:


14

เมื่อฉันมีโอกาสทำเช่นนี้วิธีที่ฉันปิดการใช้งานอย่างมีประสิทธิภาพออกจากระบบ (และปิด / รีสตาร์ท) คือการทำสามสิ่ง

  1. ใช้ GPOs หรือนโยบายการรักษาความปลอดภัยท้องถิ่น (หรือการตั้งค่ารีจิสทรี) เพื่อลบตัวเลือกออกจากระบบพร้อมใช้งานผ่านCtrl+ Alt+ Delเมนู

    • ในการลบตัวเลือกจากที่Ctrl+ Alt+ Delเมนูที่คุณต้องการเพื่อนำทางไปยังUser Configuration-> Administrative Templates-> System-> Ctrl+Alt+Del Optionsและเปิดใช้งานRemove Logoffนโยบาย

  2. ใช้ GPO หรือนโยบายความปลอดภัยในพื้นที่ (หรือการตั้งค่ารีจิสทรี) เพื่อกำหนดค่าตัวเลือกการออกจากระบบที่มีอยู่รีสตาร์ทและปิดตัวเลือกที่มีอยู่ผ่านทางเมนูเริ่ม

    • หากต้องการเปลี่ยนการทำงาน "ปุ่มเพาเวอร์" เริ่มต้นให้ไปที่User Configuration-> Administrative Templates-> Start Menu and Taskbarและเปิดใช้งานChange Start Menu power buttonนโยบาย
      • การตั้งค่าให้Lockเป็นสิ่งที่คุณกำลังมองหา
    • ในการลบปุ่มปิด / รีสตาร์ท / สลีป / ไฮเบอร์เนตออกจากเมนูเริ่มต้นคุณต้องไปที่User Configuration-> Administrative Templates-> Start Menu and Taskbarและเปิดใช้งานRemove and prevent access to the Shut Down, Restart, Sleep and Hibernate command
    • ในการลบตัวเลือกออกจากระบบไปที่User Configuration-> Administrative Templates-> Start Menu and Taskbarและเปิดใช้งานRemove Logoff on the Start Menuนโยบาย

  3. เปลี่ยนการอนุญาตshutdown.exeและlogoff.exe(ขอบคุณ Ryan!) เพื่อให้ไม่มีบัญชีผู้ใช้ที่สามารถใช้งานได้ (หากคุณไม่ต้องกังวลเกี่ยวกับผู้ใช้ที่เรียกใช้shutdown.exeจาก commandline คุณสามารถข้ามสิ่งนี้ได้)

    • (โดยปกติฉันจะออกจากบัญชีบริการหรือบัญชีผู้ดูแลระบบสำรองของฉันด้วยสิทธิ์ดังนั้นฉันสามารถเปลี่ยนกลับได้หากจำเป็นด้วยความพยายามขั้นต่ำ)
    • โดยค่าเริ่มต้นมันอยู่ในC:\Windows\systm32\และสิทธิ์ให้ผู้ใช้และผู้บริหารในการอ่านและการดำเนินการ แต่การควบคุมสำรองเต็มรูปแบบสำหรับและSYSTEMTrusted Installer
    • Trusted Installer ยังเป็นเจ้าของดังนั้นในการเปลี่ยนการอนุญาตคุณต้องเป็นเจ้าของด้วยบัญชีผู้ดูแลระบบ

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

ตอนนี้เมนูเริ่มต้นของเซิร์ฟเวอร์ของฉันดูเหมือนภาพด้านล่าง (และการสลับผู้ใช้อนุญาตให้ผู้ใช้รายอื่นลงชื่อเข้าใช้):

ป้อนคำอธิบายรูปภาพที่นี่

และCtrl+ Alt+ Delเมนูดูเหมือนว่า:

ป้อนคำอธิบายรูปภาพที่นี่


3
ซอสลับที่นี่คือคุณต้องเปลี่ยนพฤติกรรม "ปุ่มเพาเวอร์" - ถ้าคุณไม่ปิดการใช้งานออกจากระบบจะไม่มีผลกระทบ
thekbb

1
logoff.exe .....
Ryan Ries

4

ฉันต้องการเพิ่มเป็นความคิดเห็น แต่ต้องขอบคุณนโยบายเว็บไซต์ฉันต้องไม่แสดงความคิดเห็น ...

เกี่ยวกับสคริปต์การออกจากระบบฉันไม่ทราบว่าสามารถทำได้ แต่ในแอปพลิเคชัน C # Windows Forms คุณสามารถลงทะเบียนสำหรับ SystemEvents เช่น SessionSwitch และ SessionEnding อันสุดท้ายยังให้คุณสมบัติยกเลิกใน EventArgs แอปพลิเคชัน. Net ดังกล่าวสามารถช่วยคุณได้ แต่แน่นอนว่าผู้ใช้สามารถปิดแอปพลิเคชันนั้นก่อน (หรือปิดการใช้งานจาก TaskManager) จากนั้นยังคงออกจากระบบ

โดยวิธีการ: ใช่ฉันรู้ว่าสิ่งที่เป็นใบ้บางครั้งต้องทำ: มี บริษัท ซอฟต์แวร์ที่เขียนโปรแกรมซึ่งควรจะเป็น Windows Services แต่ทำงานด้วย GUI ในเซสชันแบบโต้ตอบ ...


2
โปรแกรมสั้น ๆ ที่แสดงไดอะล็อกแล้วยกเลิกการปิดจะทำงาน แต่ก็อาจถูกฆ่าจาก Task Manager ซึ่งอาจเอาชนะวัตถุประสงค์
Michael Hampton
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.