Her gece bir Windows etki alanındaki tüm bilgisayarları yeniden başlatmanın iyi bir yolu


9

Windows etki alanındaki bir Windows bilgisayar listesini yeniden başlatmanın iyi bir yolu nedir? Windows etki alanı denetleyicisinin bunu yapacak bir hizmeti olmadığı varsayılırsa, lütfen bir komut dosyası için önerilerde bulunun.

Ana bilgisayar adlarını listeleyebilir ve her birine yeniden başlatma komutu göndermek için ana bilgisayar adlarını yineleyebilir miyim? Komut dosyasının çalışma zamanında bir Windows 2008 kutusunda çalışan DHCP sunucusundan ana bilgisayar adlarının bir listesini alabilir miyim?

En çok tercih edilen en az tercih edilen kodlama dillerim şunlardır: PHP, javascript, Bash, Python (çok az biliyorum), VB (biliyorum ama sevmiyorum)


8
kırıcıyı çevirin. Ben çocuğum.
gravyface 21:11

kapanmaya neden olacak, yeniden başlatmaya ihtiyacım var.
steampowered

@JM - BIOS'ta "Önceki güç durumunu sürdür" olarak ayarlandıysa değil.
Sahte İsim

@Fake Ad - çok fazla iş gibi bu sesler
steampowered

Yanıtlar:


15

GPO sizin için bir şey değilse ve Mark Henderson'ın ikinci seçeneğiyle (toplu shutdown /miş) gitmek istiyorsanız, toplu iş işini kapatarak seri olarak yapmak yerine paralel hale getirerek işinizi kolaylaştırabilirsiniz. Yönetici istasyonunun PowerShell'i gerektirir, ancak çok şıktır .

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

Bu parçanın yaptığı, $ ComputerList'teki makineler olduğu gibi paralel olarak yürütülen birçok arka plan işi olarak ortaya çıkar . Bu, Tüm Şeyleri kapatmanın çok daha hızlı olmasını sağlayabilir.


2
Bu ilginç bir çözümdür - yeniden başlatmak için bir sürü bilgisayarınız varsa, kapatma komutlarını paralel olarak çalıştıracağı için bu çözümü şiddetle tavsiye ederim.
Richard West

2
Buradaki -AsJobsihirli parça.
jscott

Neden Restart-Computer cmdlet'i yerine "shutdown" komutunu kullandığınızı merak ediyorum.
Charles Burge

@CharlesBurge Bu, 5 yıl önce cevaplandı ve PS3 yaygın bir şekilde konuşlandırılmadı. Ayrıca bu, diğer sistemlerde komut çalıştırma tekniğini gösterir. 2017'de, hepsini sadece PowerShell'de yapardık ve komutlarla uğraşmazdık. Zaman değişir.
sysadmin1138

7

Bunu, her gece belirli bir saatte çalışacak yeni bir zamanlanmış görev yaparak Grup İlkesi Tercihleri ​​ile yapabilirsiniz. Bu görevin komutu olmalıdır shutdown /r /t 0. Daha sonra bu GPO'yu, içinde bilgisayar bulunan OU veya OU'lara bağlayabilirsiniz.

Muhtemelen 10-15 dakika arasında bir yerde ayarlanmış "Bu Programı Rastgele Bir Aralıkta Çalıştır" seçeneğini kullanmak isteyeceksiniz. Dikkatli değilseniz, her bilgisayarın aynı anda açılmasını sağlamak kırıcılarınız için kötü olabilir. Görevi yalnızca bilgisayar x saattir boşta kaldığında, birisinin bir çakmağı çekmesi durumunda çalıştırma seçeneğini işaretlemek isteyebilirsiniz. Son bir tarih yapmaya çalışan birini yeniden başlatarak bütün bir gece işini öldürmek istemezsiniz.


GPO ile Zamanlanmış görevlerin ayarını bilmiyorum, bu yüzden merak ediyorum: bir makine tanımlanmış görev olmadan bir OU'dan diğerine taşınırsa, Shed Task kaybolacak mı yoksa ilk kez uygulandıktan sonra mı kalacak?
MaCuban

6

İki seçenek:

  1. GPO üzerinden çalışan shutdown /r /f /t 0veya shutdown /g /f /t 0yeniden başlatmak istediğiniz her makinede zamanlanmış bir görev oluşturun . ( shutdown /?daha fazla ayrıntı için göz atın.

  2. shutdown /m [computer name] /r /f /t 0Merkezi bir bilgisayardan (belki de etki alanı denetleyicisi?) Çalışan bir toplu iş oluşturun . Yeniden başlatmak istediğiniz her bilgisayar için tekrarlayın (değiştirin [computer name]). Bu, herhangi bir nedenle erişilemezse ve bilgisayarları yeniden başlatma haklarına sahip bir hesaptan çalıştırılması gerektiğinde bilgisayarın yeniden başlatılmayacağı anlamına gelir.

Etkin dizinden alınan ve komutu çalıştıran bilgisayarların bir listesi üzerinden döngüler bir toplu iş dosyası yazabilmelisiniz, ancak bugün bir tane yazmak için zamanım yok (ve hatta test etmeye istekli değilim) Bunu yazdım, aksi takdirde günün ortasında herkesin bilgisayarını yeniden başlatmak için ızgara olurdum).


Ayrıca, bir toplu iş dosyası aracılığıyla da çalışabilen bir psshutdown komutu var, sysinternals paketinin bir parçası ...
Bart Silverstrim

Hem 1 hem de 2'yi kullandım. Şimdi Powershell ile eğleniyorum. # 2 kullanıyorsanız, ana komut dosyasının her bilgisayar için ayrı bir süreç oluşturduğunu düşünün (örneğin start cmd /c shutdown /m computer /r /f /t 0) veya çevrimiçi olup olmadığını kontrol etmek için bir mantık kullanın, aksi takdirde çevrimdışı bilgisayarlar için gecikme önemli olabilir.
jscott

4

Bunu yapmanın en iyi yolu, bunun gerekli olduğu fikrine sahip olan kişiyi kovmak ve diğer insanların yaptıklarını yapmaktır - bunu yapmamak.


Klasör yeniden yönlendirmesi, insanlar bir gecede oturum açmaya devam ettiğinde kaynakları bağlıyor gibi görünüyor. Herhalde bir toplu yeniden başlatma yerine bir toplu çıkış kurmayı deneyebilirim, ancak yeniden başlatma çok fazla sorunu çözüyor gibi görünüyor. İnsanlar yeniden başlatmadan haftalarca veya aylarca gider. Windows sistemlerini çalıştırmanın doğru yolunu öğrenmek için genellikle fazla zaman harcamıyorum çünkü bu benim birincil işim değil. Ne önerirsiniz?
steampowered

1
Ah - hayır. Tonlarca şirket çalışanlarının yeniden başlatılmasını gerektirmiyor - klasör yeniden yönlendirme kullandıklarını mı düşünüyorsunuz? Sorunu el altında düzeltmenizi öneririm. Her gün iş istasyonumdan çıkış yapacak olsaydım kişisel olarak sinirlenirdim - genellikle işlerin bir gecede çalışmasına izin veririm. Tembelliğiniz çok fazla insanın sıkıntısına mal olabilir - işinizi düzgün yapın veya yapan birini işe alın.
TomTom

İşimi düzgün yapmak, küçük pencereler sistemimize bebeklik yapmak için çok fazla zaman harcamamak anlamına geliyor.
steampowered

Ne yaptığını bilmiyor musun? ;) Performanslarına bakılmaksızın insanları işlerinde yetersiz olduklarını söyleyerek kovuyorum.
TomTom

Sysadmin, ailemin onlara yardım etmesi için yaptığım bir yan iş. Sonsuz zamanım olsaydı, pencerelerde ve diğer teğetlerde daha fazla kitap okurdum. Ama para kazanmanın en iyi yolu web yazılımına bağlı kalmak. Yanıtın, sorduğum soruya teknik bir çözüm sunma ruhu içinde olmadığını düşünüyorum.
steampowered
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.