Cara yang baik untuk mem-boot ulang semua komputer di domain Windows setiap malam

9

Apa cara yang baik untuk me-reboot daftar komputer windows di domain windows? Dengan asumsi pengontrol domain windows tidak memiliki layanan untuk melakukan ini, silakan membuat rekomendasi untuk skrip.

Bisakah saya mencantumkan nama host dan mengulangi meskipun nama host untuk mengirim perintah restart ke masing-masing? Bisakah saya mendapatkan daftar nama host dari server DHCP yang berjalan di kotak Windows 2008 saat runtime skrip?

Bahasa scripting pilihan saya dari yang paling tidak diinginkan adalah: PHP, javascript, Bash, Python (tahu sangat sedikit), VB (kenal tapi tidak suka)

ditenagai uap
sumber
8
balikkan pemutus. Aku nak
gravyface
yang akan menyebabkan shutdown, saya perlu reboot.
dikemudikan
@ JM - tidak jika mereka diatur ke "Lanjutkan status daya sebelumnya" di BIOS.
Nama Palsu
@Fake Name - yang terdengar seperti banyak pekerjaan
dikemudikan

Jawaban:

15

Jika GPO bukan pilihan Anda, dan Anda ingin memilih opsi kedua (batching shutdown /m) Mark Henderson, Anda dapat membuat pekerjaan Anda lebih mudah dengan mengelompokkan shutdown secara batch sehingga akan melakukannya secara paralel daripada serial. Membutuhkan PowerShell pada bagian dari stasiun admin, tetapi sangat bagus .

foreach ($ComputerName in $ComputerList) {
    invoke-command -AsJob -ScriptBlock {
        params($ComputerName)
        shutdown /m $ComputerName /r /f /t 0
    } -ArgumentList $ComputerName
}

Apa yang dilakukan fragmen ini adalah menelurkan banyak pekerjaan latar belakang yang dijalankan secara paralel karena ada mesin di $ ComputerList. Ini dapat membuat mematikan Semua Hal terjadi jauh lebih cepat.

sysadmin1138
sumber
2
Ini adalah solusi yang menarik - jika Anda memiliki banyak komputer untuk reboot saya akan sangat merekomendasikan solusi ini karena akan menjalankan perintah shutdown secara paralel.
Richard West
2
Ini -AsJobsedikit ajaib di sini.
jscott
Saya ingin tahu mengapa Anda menggunakan perintah "shutdown" daripada cmdlet Restart-Computer.
Charles Burge
@CharlesBurge Ini dijawab 5 tahun yang lalu, dan PS3 tidak digunakan secara luas. Juga, ini menunjukkan teknik menjalankan perintah pada sistem lain. Pada 2017, kami hanya akan melakukan semuanya di PowerShell dan tidak repot dengan perintah. Waktu berubah.
sysadmin1138
7

Anda dapat melakukan ini dengan Preferensi Kebijakan Grup dengan membuat tugas terjadwal baru yang akan berjalan setiap malam pada waktu tertentu. Perintah untuk tugas itu seharusnya shutdown /r /t 0. Anda kemudian dapat menautkan GPO tersebut ke OU atau OU yang memiliki komputer Anda di dalamnya.

Anda mungkin ingin menggunakan opsi "Jalankan Program Ini Pada Interval Acak" yang diatur antara 10-15 menit. Memiliki setiap komputer menyala pada saat yang sama dapat berakibat buruk bagi pembobol Anda jika Anda tidak berhati-hati. Anda mungkin juga ingin memeriksa opsi untuk hanya menjalankan tugas jika komputer telah diam selama x jam, jika seseorang menarik semua-nighter. Anda tidak ingin membunuh pekerjaan sepanjang malam dengan mem-boot ulang seseorang yang mencoba membuat tenggat waktu.

MDMarra
sumber
Saya tidak terbiasa dengan pengaturan tugas Terjadwal dengan GPO, jadi saya bertanya-tanya: jika sebuah mesin dipindahkan dari satu OU ke yang lain tanpa tugas yang ditentukan, apakah Tugas Gudang akan hilang atau akan tetap ada setelah diterapkan pertama kali?
MaCuban
6

Dua pilihan:

  1. Buat tugas terjadwal melalui GPO yang menjalankan shutdown /r /f /t 0atau shutdown /g /f /t 0pada setiap mesin yang ingin Anda reboot. (lihat shutdown /?lebih detail.

  2. Buat kumpulan yang berjalan shutdown /m [computer name] /r /f /t 0dari komputer pusat (mungkin pengontrol domain?). Lingkarkan untuk setiap komputer yang ingin Anda reboot (ubah [computer name]). Ini berarti bahwa komputer tidak akan dihidupkan ulang jika tidak dapat dijangkau karena alasan apa pun, dan harus dijalankan dari akun yang memiliki hak untuk memulai ulang komputer.

Anda harus dapat menulis file batch yang loop melalui daftar komputer yang ditarik dari direktori aktif dan menjalankan perintah, namun saya tidak punya waktu untuk menulisnya hari ini (dan saya tidak mau mengujinya bahkan jika Saya memang menulisnya, kalau tidak saya akan dibakar karena me-reboot komputer everyones di tengah hari).

Mark Henderson
sumber
Selain itu ada perintah psshutdown yang dapat dijalankan melalui file batch juga, bagian dari suite sysinternals ...
Bart Silverstrim
Saya telah menggunakan 1 dan 2. Sekarang bersenang-senang dengan Powershell. Jika menggunakan # 2, pertimbangkan skrip utama yang memunculkan proses terpisah untuk setiap komputer (mis. start cmd /c shutdown /m computer /r /f /t 0) Atau menggunakan beberapa logika untuk memeriksa apakah online, jika tidak, penundaan untuk komputer offline dapat menjadi signifikan.
jscott
4

Cara terbaik untuk melakukan itu adalah memecat orang yang memiliki gagasan bahwa ini diperlukan dan melakukan apa yang semua orang lakukan - tidak melakukan itu.

TomTom
sumber
Pengalihan folder tampaknya mengikat sumber daya ketika orang tetap masuk semalam. Saya kira saya bisa mencoba untuk mengatur logout massal daripada reboot massal, tetapi reboot tampaknya dapat menyelesaikan begitu banyak masalah. Orang-orang pergi berminggu-minggu atau berbulan-bulan tanpa me-reboot. Saya biasanya tidak menginvestasikan banyak waktu untuk mempelajari cara yang benar untuk menjalankan sistem windows karena itu bukan pekerjaan utama saya. Apa yang kamu sarankan?
dikemudikan
1
Ah tidak. Banyak perusahaan tidak meminta orang-orang mereka untuk menolak - Anda pikir mereka tidak pernah menggunakan pengalihan folder? Saya sarankan memperbaiki masalah yang ada. Saya pribadi akan marah jika saya keluar dari stasiun kerja saya setiap hari - saya sering membiarkan pekerjaan berjalan dalam semalam. Kemalasan Anda mungkin membuat banyak orang kesulitan - lakukan pekerjaan Anda dengan benar atau pekerjakan seseorang yang melakukannya.
TomTom
Nah, melakukan pekerjaan saya dengan benar berarti tidak menghabiskan terlalu banyak waktu merawat sistem windows kecil kami.
dikemudikan
Tidak tahu apa yang kamu lakukan? ;) Saya memecat orang yang mengatakan bahwa mereka tidak kompeten dalam pekerjaan mereka, terlepas dari bagaimana kinerja mereka.
TomTom
Sysadmin adalah pekerjaan sampingan yang saya lakukan untuk keluarga saya untuk membantu mereka. Jika saya memiliki waktu yang tidak terbatas, saya akan membaca lebih banyak buku di windows dan garis singgung lainnya. Tetapi cara terbaik saya untuk menghasilkan uang adalah dengan tetap menggunakan perangkat lunak web. Saya pikir jawaban Anda sama sekali tidak dalam semangat menawarkan solusi teknis untuk pertanyaan yang saya ajukan.
dikemudikan