Bagaimana cara mengunci pengguna normal (non-admin) selama instalasi perangkat lunak?

12

Kami memiliki banyak klien tipis yang menjalankan Windows Embedded Standard 7 dan server SCCM 2012 R2 untuk mengelolanya. Thin client mengaktifkan filter tulisnya (FBWF) sehingga perubahan mesin tidak persisten. Terkadang kami harus memperbarui sesuatu pada mereka, kami hanya menyebarkannya melalui SCCM dan secara otomatis menangani mematikan filter tulis dan kembali untuk melakukan perubahan.

Inilah yang harus terjadi:
klien SCCM memberi pemberitahuan kepada pengguna dan hitungan mundur 30 menit untuk menyelamatkan pekerjaan mereka dan keluar dari sistem. Thin client kemudian reboot dan menonaktifkan filter tulis. Layar log-on menampilkan gembok dan perhatikan bahwa unit sedang diservis, dan tidak akan mengizinkan pengguna normal (non-admin) untuk masuk sementara SCCM melakukan hal itu. Ketika SCCM selesai, itu mengaktifkan kembali filter tulis, reboot, dan kemudian pengguna dapat login lagi.

Masalah yang saya alami adalah bahwa kami menggunakan pembaca kartu proximity untuk masuk ke sistem. Karyawan tidak mengetik kata sandi. Mereka hanya mengetuk lencana mereka. Sistem ini bagus, tetapi perangkat lunak yang menjalankannya merusak otomatisasi filter tulis dengan Windows Embedded.

Inilah yang sebenarnya terjadi:
klien SCCM memberikan pemberitahuan 15 menit seperti biasa sebelum reboot dengan filter tulis mati. Ketika reboot, itu layar login normal ditampilkan. Pengguna dapat masuk ke sistem dan menggunakannya saat SCCM menginstal perangkat lunak. Dan karena sesi pengguna aktif, sekali lagi memberikan pemberitahuan 30 menit sebelum memulai kembali dengan filter tulis kembali.

Dalam skenario ini, tidak hanya menambah 30 menit tambahan untuk waktu penerapan, tetapi juga memberikan pengguna biasa waktu 30-60 menit tanpa perlindungan pada klien tipis dengan perubahan apa pun yang mereka buat secara permanen dimasukkan ke dalam gambar ketika filter tulis dihidupkan kembali.

Masalahnya berasal dari fakta bahwa Windows Embedded 7 menggunakan penyedia kredensial yang berbeda (alias GINA) daripada Windows 7 biasa, tetapi produk SSO harus mengganti penyedia kredensial Windows untuk berfungsi. Saya sudah menghubungi vendor tentang hal itu, tetapi mereka hanya mengatakan itu masalah yang diketahui dan tidak ada perbaikan atau penyelesaian untuk itu.

Jadi inilah pertanyaan saya:
Bagaimana saya bisa mensimulasikan perilaku yang diinginkan dengan cara lain? Saya tahu bahwa ada pengaturan kebijakan grup tempat Anda bisa menolak masuk lokal ke grup pengguna tertentu. Saya berpikir saya bisa membalik pengaturan registri yang sesuai sebelum dan setelah menginstal, tetapi saya terbuka untuk ide-ide lain.

Saya tidak menginstal skrip di atas jika saya harus. Saya fasih dengan scripting, PowerShell, VBScript, dll. Saya hanya ingin tahu apakah ada yang punya ide cemerlang tentang bagaimana menyelesaikan ini.


Pembaruan:
Saya lalai menyebutkan bahwa perangkat ini digunakan di lingkungan rumah sakit agar staf memetakan pasien mereka. Mereka harus tersedia 24 jam sehari, jadi kami tidak dapat membatasi jam masuk atau mengonfigurasi jendela perawatan. Kami mengelola waktu henti dengan memberikan pemberitahuan terlebih dahulu kepada pengawas shift, tetapi apa pun yang membutuhkan waktu lebih dari satu jam menjadi masalah kepatuhan hukum dan mengharuskan prosedur waktu henti resmi diberlakukan.

Wes Sayeed
sumber
Pertanyaan yang bagus Saya berharap saya punya jawaban yang lebih baik.
pertanyaan yang bagus - mudah-mudahan kisah menyedihkan Anda membuat orang lain enggan membeli klien tipis- Saya benci semua barang bawaan yang dibawa perangkat "perawatan rendah" ini
Jim B

Jawaban:

4

Sebelum kita mulai, saya ingin membuat poin pedantic, lebih untuk kepentingan pembaca umum daripada Anda sendiri.

kami hanya mendorongnya melalui SCCM

SCCM adalah teknologi berbasis tarikan. Saya tahu apa yang Anda maksud, tetapi saya menemukan bahwa dengan orang-orang penting saya, setiap kesempatan yang saya tekankan bahwa SCCM bukan teknologi berbasis push membantu mereka memahaminya lebih cepat.


Saya sudah menghubungi vendor tentang hal itu, tetapi mereka hanya mengatakan itu masalah yang diketahui dan tidak ada perbaikan atau penyelesaian untuk itu

Itu terlalu buruk karena kedengarannya seperti penyebab masalah ini adalah program otentikasi kartu tertanam. Tetap pada vendor, mungkin mereka benar-benar akan memperbaiki perangkat lunak mereka.



Ke jawaban nyata - Saya melihat beberapa solusi yang mungkin untuk Anda, tidak satupun dari mereka yang sangat baik.

  • Konfigurasikan Jendela Pemeliharaan untuk klien-klien ini sehingga reboot awal Anda untuk menghapus klien dari filter tulis mereka, payload Anda yang sebenarnya, dan reboot yang dihasilkan semuanya terjadi di luar jam ketika karyawan tidak ada di terminal. Ini sepertinya pilihan yang paling tidak menyakitkan. Tidak perlu membuat SCCM lebih rumit dari yang sudah ada.
  • Buat templat Kebijakan Grup Lokal yang menambahkan grup keamanan ke Hak Pengguna Log Masuk Deny lalu tetapkan / batalkan penetapannya sebagai bagian dari penerapan aplikasi Anda.
  • Gunakan PowerShell untuk mengatur Hak Pengguna Log Deny. Saya percaya PowerShell Community Extensions (PSCX) memiliki Set/Get-Privilegescmdlet yang memungkinkan Anda memanipulasi Penetapan Hak Pengguna
  • Anda dapat menggunakan API jika Anda mau. Ini sebuah contoh .

sumber
Terima kasih atas tanggapannya. Saya memperbarui pertanyaan saya untuk mencerminkan lingkungan. Ini operasi 24x7 sehingga opsi 1 tidak dapat dijalankan. Opsi 2 adalah apa yang saya pikirkan, tetapi saya tidak tahu cara untuk menetapkan / membatalkan penetapan GPO sesuai permintaan. Itu menyisakan opsi 3 dan 4 yang akan saya perhatikan. Saya pikir saya mungkin harus menulis jalan keluar dari ini. Oh dan saya mengoreksi terminologi :-)
Wes Sayeed
@WesSayeed Secara teori Anda harus dapat membuat Templat Kebijakan Grup Lokal dengan SecPol.msc, menyimpannya sebagai templat dan menerapkan / tidak-berlaku dengan secedit.exemelalui skrip. Saya tidak berbicara tentang menggunakan Kebijakan Grup Direktori Aktif karena waktu pemungutan suara acak tidak akan berfungsi untuk jendela perawatan ketat Anda.
+1, saya suka jawaban ini dan tidak mengetahui PSCX.
MDMoore313
4

Sepertinya tidak ada yang menyinggung kemungkinan menggunakan urutan tugas untuk menangani ini, jadi izinkan saya untuk membuat daftar manfaat (dengan asumsi Anda tidak benar-benar mengenal mereka secara umum, tapi tolong baca bahkan jika Anda):

Jika semua yang Anda instal dan konfigurasikan ditangani dengan SCCM, Anda harus dapat menggunakan urutan tugas untuk melakukannya. Terutama untuk OSD, menggunakan TS tidak hanya untuk OSD dan dapat memberikan manfaat berikut:

Tidak masuk ke workstation

TS dijalankan sebelum winlogon.exe berjalan, jadi tidak ada kemungkinan pengguna masuk secara tidak sengaja, karena tidak ada log di jendela. Yang membawa saya ke poin kedua:

Layar latar khusus

Anda dapat memberikan layar splash yang mengatakan pemeliharaan sedang dilakukan, atau apa pun yang ingin Anda katakan sebenarnya.

TS sebenarnya hanya sebuah skrip yang dimuliakan, tetapi memiliki banyak fungsi dan disatukan dengan cara untuk mengurangi waktu pengembangan, dan saya telah menemukan kasus penggunaan di luar OSD.

Sepertinya Anda sudah memiliki skrip untuk melakukan apa yang perlu Anda lakukan, jadi Anda harus dapat memasukkannya ke dalam TS dengan debugging minimal dan mulai bekerja.

MDMoore313
sumber
1
+1 Saya selalu bertanya-tanya apakah ada kegunaan dunia nyata untuk urutan tugas non-OSD.
alx9r
@BigHomie; Saya baru saja mencoba melakukan penyebaran menggunakan Sequence Tugas daripada aplikasi normal dan itu tidak mencegah masuknya pengguna. Langkah pertama dalam urutan tugas adalah mem-boot ulang komputer. Setelah komputer kembali muncul, ia menampilkan layar masuk normal. Urutan tugas tidak dilanjutkan hingga sekitar satu menit kemudian (karena layanan diatur ke mulai tertunda). Saya dapat mengatur layanan untuk memulai segera dengan Kebijakan Grup sehingga pengguna akan melihat bilah kemajuan, tetapi itu hanya akan mencegah masuk, bukan mencegahnya. Apakah saya melewatkan sesuatu?
Wes Sayeed
@WesSayeed !! Apakah TS itu diiklankan ke pengguna atau komputer?
MDMoore313
@BigHomie; AFAIK, Urutan Tugas hanya dapat diiklankan ke koleksi komputer.
Wes Sayeed
Itu benar, saya lupa tentang itu. Sayangnya, saya mengambil pekerjaan baru tahun lalu dan telah keluar dari permainan SCM untuk beberapa saat. Saya akan terus mencari jawabannya, tetapi saya pikir mekanisme yang sama yang memungkinkan perangkat lunak untuk menginstal selama OSD sebelum layar login muncul dapat digunakan di luar OSD juga. Saya kira Anda penyebaran tidak dapat dilakukan jika mesin boot ke WinPE, benar?
MDMoore313
2

Anda belum menentukan apakah perangkat lunak SSO menggunakan kredensial Active Directory, jadi solusinya adalah dengan menggunakan fungsi "Logon Hours" dari Active Directory. Ini pada tingkat per pengguna, tetapi dapat dengan mudah ditulis dalam Powershell ( ini menjadi contoh). Pada dasarnya, atur jam masuk untuk "menolak" masuk di jendela pembaruan SCCM Anda dan pengguna tidak akan dapat masuk ke klien sementara SCCM melakukan hal tersebut. Anda harus memiliki reboot yang dipaksakan pertama yang akan mengeluarkannya (fungsi jam logon tidak berfungsi pada pengguna yang masuk), tetapi jika tidak maka akan sulit untuk diterapkan.

Nathan C
sumber
Perangkat lunak SSO tidak menggunakan AD. Semua itu cocok dengan tag RFID ke akun AD dan melewati kredensial ke Windows untuk melakukan masuk. Saya memperbarui jawaban saya untuk menjelaskan mengapa saya tidak dapat menggunakan jam masuk (saya lalai menyebutkan lingkungan), tetapi saya akan melihat skrip yang Anda referensikan. Saya mungkin bisa melakukan sesuatu seperti itu secara lokal.
Wes Sayeed
-1

Mungkin ingin menguji ini dan melihat apakah itu berfungsi:

Sebuah skrip di awal aktivitas SCCM untuk melakukan hal berikut:

  • Hapus NT AUTHORITY \ Identitas Pengguna terotentikasi dari grup Pengguna lokal
  • Hapus NT AUTHORITY \ Identitas interaktif dari grup Pengguna lokal
  • Hapus grup Pengguna Domain dari grup Pengguna lokal

Pada akhirnya:

Tambahkan prinsip keamanan yang Anda hapus kembali ke grup Pengguna lokal

Grup aktual yang Anda tambahkan / hapus mungkin bergantung pada bagaimana komputer Anda saat ini dikonfigurasi.

Sesuatu yang sedikit lebih trailer-parky, awal aktivitas SCCM dapat menyalin pintasan ke logoff.exe ke Menu Mulai Semua Pengguna \ folder Startup (biasanya C: \ ProgramData \ Microsoft \ Windows \ Start Menu \ Program \ StartUp). Ini akan memiliki efek keluar dari sesi segera setelah mereka masuk. Agar aman, Anda mungkin ingin memiliki skrip startup / shutdown untuk menghapus pintasan itu. (Saya percaya bahwa pintasan Startup dapat dilewati dengan menahan tombol shift selama logon).

Greg Askew
sumber
Saya harus -1 ini, itu akan berhasil, tetapi jika skrip terbunuh di tengah, dari beberapa kesalahan acak atau Hukum Murphy, maka pengguna tidak dapat masuk dan mereka mati di dalam air sampai IT dapat merespon.
MDMoore313