Peringatkan pengguna jika mereka mencoba keluar

10

Saya ingin pengguna lokal tertentu untuk tidak keluar. pernah. Ini mirip dengan pertanyaan konyol ini , namun saya tidak terlalu peduli jika tombolnya ada di sana, saya ingin memunculkan kotak pesan yang bertuliskan "Tolong jangan keluar konsol" dengan tombol "OK" yang kemudian membatalkan log off mencoba. Bisakah ini dilakukan dalam skrip logoff?

ada kebijakan grup untuk menonaktifkan tombol logoff pada startmenu dan pada dialog CTRL-ALT-DEL. Namun apa yang saya suka lebih seperti http://msdn.microsoft.com/en-us/library/ms811998.aspx , yang tampaknya tidak ada di server 2008 R2? Atau apakah saya melewatkannya?

Saya bahkan mencoba untuk menonaktifkan tombol logoff saat mulai , tetapi tidak berfungsi, seperti yang ditunjukkan oleh Matt pada pertanyaan serupa ini

Apakah mungkin untuk membuat skrip logoff yang menampilkan dialog yang memperingatkan pengguna untuk tidak logoff dan kemudian membatalkan logoff?

Saya mengerti ini adalah kebutuhan gila - sayangnya itu bukan kekuatan saya untuk mengubah atau mendorong kembali. Saya sudah kehabisan opsi itu. Jangan ragu untuk mendapatkan satu ton upvotes pada komentar yang menjelaskan bahwa ini benar-benar rencana bodoh yang jelas mengurangi gejala banyak masalah sistemik daripada menyelesaikan apa pun. Saya sepenuhnya memahami bahwa tindakan ini sebenarnya menciptakan masalah. Saya ingin ini dilakukan sehingga saya bisa menyelesaikan kontrak ini dan tidak pernah bekerja dengan mereka lagi.

dfstandish
sumber
18
Ini benar-benar rencana bodoh yang jelas mengurangi gejala banyak masalah sistemik daripada menyelesaikan apa pun. Tindakan ini sebenarnya menciptakan masalah. Selesaikan kontrak ini dan jangan pernah bekerja dengan mereka lagi.
Michael Hampton
1
Selain menjadi hal yang konyol untuk dicoba dan dilakukan, itu juga sesuatu yang orang lain tidak akan mendapat manfaat dari mengetahui bagaimana melakukannya. Ini hanya akan menciptakan masalah, jadi pemungutan suara akan ditutup.
HostBits
3
Walaupun saya setuju itu adalah rencana yang konyol, dan saya tidak tahu motifnya, saya dapat mengatakan bahwa saya dapat mengambil manfaat dari solusi yang serupa. Kita semua harus berurusan dengan perangkat lunak warisan bodoh seperti "deamon" yang memiliki jendela @ # $ @ # $ @ dibuat di VB6 dan tidak berjalan sebagai layanan karena memiliki semua jenis pesan pop-up dan Anda akhirnya dengan skrip AuthoHotKey mengklik OK setiap kali mereka muncul ... jadi mencegah penebangan akan berguna ...
ETL
1
@MichaelHampton, Tuan, benar sekali. Saya seharusnya menambahkan, "Saya ingin melakukan ini sehingga saya dapat dibayar, dan kemudian tidak pernah bekerja untuk mereka lagi." seperti ditunjukkan ETL, ada semua jenis kejahatan warisan di luar sana ... dan seperti yang ditunjukkan Cheekaleak, setiap jawaban untuk pertanyaan ini akan berkontribusi pada kejahatan di dunia. Karena itu, saya masih ingin meretas ini dan dilakukan.
dfstandish
Di mana kebutuhan root? Jika seperti saya dan Anda membutuhkan proses / aplikasi untuk dijalankan sebagai pengguna dengan sesi desktop interaktif, maka Anda bisa melihat mendapatkan Firedaemon dan menyiapkan layanan yang berjalan sebagai pengguna untuk aplikasi itu dengan Sesi 0.
TheCleaner

Jawaban:

14

Ketika saya memiliki kesempatan untuk melakukan ini, cara saya secara efektif menonaktifkan log off (dan shutdown / restart) adalah dengan melakukan tiga hal.

  1. Gunakan GPO atau kebijakan keamanan lokal (atau pengaturan registri) untuk menghapus opsi logoff yang tersedia melalui menu Ctrl+ Alt+ Del.

    • Untuk menghapus opsi dari menu Ctrl+ Alt+ Del, Anda harus menavigasi ke User Configuration-> Administrative Templates-> System-> Ctrl+Alt+Del Optionsdan mengaktifkan Remove Logoffkebijakan.

  2. Gunakan GPO atau kebijakan keamanan lokal (atau pengaturan registri) untuk mengonfigurasi opsi logoff, restart, dan shutdown yang tersedia melalui Start Menu.

    • Untuk mengubah perilaku "Tombol Daya" default, navigasikan ke User Configuration-> Administrative Templates-> Start Menu and Taskbardan aktifkan Change Start Menu power buttonkebijakan.
      • Pengaturan untuk Lockitu mungkin adalah apa yang Anda cari.
    • Untuk menghapus tombol shut down / restart / sleep / hibernate dari Start Menu, Anda harus menavigasi ke User Configuration-> Administrative Templates-> Start Menu and Taskbardan mengaktifkanRemove and prevent access to the Shut Down, Restart, Sleep and Hibernate command
    • Untuk menghapus opsi logoff, navigasikan ke User Configuration-> Administrative Templates-> Start Menu and Taskbardan aktifkan Remove Logoff on the Start Menukebijakan

  3. Ubah izin shutdown.exedan logoff.exe(terima kasih, Ryan!) Sehingga tidak ada akun pengguna yang dapat menjalankannya. (Jika Anda tidak perlu khawatir tentang pengguna yang menjalankan shutdown.exedari commandline, Anda dapat melewati ini.)

    • (Saya biasanya akan meninggalkan akun layanan atau akun admin cadangan saya dengan izin sehingga saya dapat mengubahnya kembali jika diperlukan, dengan upaya minimum).
    • Secara default, itu dalam C:\Windows\systm32\, dan izin memungkinkan pengguna dan administrator untuk membaca dan mengeksekusi, tetapi cadangan kontrol penuh untuk SYSTEMdan Trusted Installer.
    • Trusted Installer juga pemilik, jadi untuk mengubah izin, Anda perlu mengambil kepemilikan dengan akun administratif.

Setelah Anda selesai dengan semua itu, tidak ada cara untuk log off, restart, shutdown, hibernate, atau tidur komputer tanpa melalui sedikit usaha ... atau melepaskan kabel daya.

Sekarang menu mulai server saya terlihat seperti gambar di bawah ini (dan beralih pengguna hanya memungkinkan pengguna lain untuk masuk):

masukkan deskripsi gambar di sini

Dan menu Ctrl+ Alt+ Delterlihat seperti:

masukkan deskripsi gambar di sini

HopelessN00b
sumber
3
Saus rahasia di sini adalah Anda harus mengubah perilaku "tombol daya" - jika Anda tidak menonaktifkan logoff tidak akan berpengaruh.
thekbb
1
logoff.exe .....
Ryan Ries
4

Saya lebih suka menambahkan ini sebagai komentar, tetapi terima kasih untuk kebijakan situs, saya tidak boleh berkomentar ...

Mengenai skrip Logoff, saya tidak tahu apa yang bisa dilakukan. Tetapi dalam aplikasi C # Windows Forms, Anda dapat mendaftar untuk SystemEvents seperti SessionSwitch dan SessionEnding. Yang terakhir bahkan menyediakan properti Cancel di EventArgs. Aplikasi .Net semacam itu dapat membantu dalam kasus Anda, tetapi tentu saja pengguna dapat menutup aplikasi itu terlebih dahulu (atau membunuhnya dari TaskManager) dan kemudian tetap logout.

Ngomong-ngomong: ya, saya tahu bahwa hal-hal bodoh seperti itu terkadang harus dilakukan: ada perusahaan perangkat lunak yang menulis program yang seharusnya Windows Services, tetapi berjalan dengan GUI dalam sesi interaktif ...

Bernhard Hiller
sumber
2
Program singkat yang menampilkan dialog dan kemudian membatalkan shutdown akan berfungsi, tetapi juga bisa dimatikan dari Task Manager, yang mungkin mengalahkan tujuan.
Michael Hampton