Bu PowerShell betiği, bir grup Windows makinesini kapatır. Bilgisayar adları komut dosyasında saklanabilir veya bir dosyadan veya Active Directory’den okunabilir.
Her zaman birkaç sistemi aynı anda kapatmak istediğiniz durumlar vardır (örn. bakım nedeniyle veya akşam ofise gittiğinizde belirli sayıda çalışanın bilgisayarlarını açık bıraktığını ve uzun süre çalışmayı bitirdiğini gördüğünüzde). zaman önce ben).
Aşağıdaki PowerShell betiği yardımcı olacaktır. Bilgisayar adlarının kaynağı farklı olabilir. Komut dosyası, komut dosyasındaki sabit depolamayı, bir metin dosyasından okuma veya Active Directory’den bir bilgisayar listesi kullanarak gösterir.
# Zwangweises Herunterfahren einer Reihe von Windows-Systemen per PowerShell
# Autor: Dr. Holger Schwichtenberg, www.IT-Visions.de
# Feste Namensliste
#$Rechnernamen = { "PC1","PC2", "PC3", "usw" }
# Namens aus Datei
#$Rechnernamen = Get-Content "Rechnernamen.txt"
# oder Namensliste aus dem Active Directory (gefiltert)
$Rechnernamen = (get-adcomputer -Filter "Name -like 'E7*'").Name
[System.Collections.ArrayList] $RechnerZumHerunterfahren = @()
# Prüft, ob ein System erreichbar ist
filter Check-Online {
trap { continue }
. {
$timeout = 1000
$obj = New-Object system.Net.NetworkInformation.Ping
$result = $obj.Send($_, $timeout)
if ($result.status -eq 'Success') { 1 }
}
}
Write-host "Prüfe $($rechnernamen.Count) Computer..."
# Prüfung für alle Systeme in der Liste
foreach($c in $Rechnernamen)
{
$istOnline = $c | Check-Online
Write-host "$c ist$(if (-not $istOnline) { " NICHT" }) erreichbar" -ForegroundColor "$(if ($istOnline) { "Green" } else { "Red" })"
# prägnanter ab PowerShell 7 mit ternärem Operator:
# Write-host "$c ist$(-not $istOnline ? ' NICHT' : '') erreichbar" -ForegroundColor "$($istOnline ? "Green" : "Red")"
if ($istOnline){ $RechnerZumHerunterfahren.Add($c) | out-null }
}
if ($RechnerZumHerunterfahren.Count -eq 0) { Write-Host "Kein System ist eingeschaltet " -ForegroundColor Green ; exit }
# Nachfrage
Write-Host "Jetzt $($RechnerZumHerunterfahren.Count) Systeme herunterfahren? J=Ja" -ForegroundColor Cyan
$r = Read-Host
if ($r -ne "j") { exit }
# Herunterfahren mit -force
foreach($c in $RechnerZumHerunterfahren)
{
Stop-Computer $c -Force;
Write-Warning "$c wird heruntergefahren...";
}
()
Haberin Sonu
Her zaman birkaç sistemi aynı anda kapatmak istediğiniz durumlar vardır (örn. bakım nedeniyle veya akşam ofise gittiğinizde belirli sayıda çalışanın bilgisayarlarını açık bıraktığını ve uzun süre çalışmayı bitirdiğini gördüğünüzde). zaman önce ben).
Aşağıdaki PowerShell betiği yardımcı olacaktır. Bilgisayar adlarının kaynağı farklı olabilir. Komut dosyası, komut dosyasındaki sabit depolamayı, bir metin dosyasından okuma veya Active Directory’den bir bilgisayar listesi kullanarak gösterir.
# Zwangweises Herunterfahren einer Reihe von Windows-Systemen per PowerShell
# Autor: Dr. Holger Schwichtenberg, www.IT-Visions.de
# Feste Namensliste
#$Rechnernamen = { "PC1","PC2", "PC3", "usw" }
# Namens aus Datei
#$Rechnernamen = Get-Content "Rechnernamen.txt"
# oder Namensliste aus dem Active Directory (gefiltert)
$Rechnernamen = (get-adcomputer -Filter "Name -like 'E7*'").Name
[System.Collections.ArrayList] $RechnerZumHerunterfahren = @()
# Prüft, ob ein System erreichbar ist
filter Check-Online {
trap { continue }
. {
$timeout = 1000
$obj = New-Object system.Net.NetworkInformation.Ping
$result = $obj.Send($_, $timeout)
if ($result.status -eq 'Success') { 1 }
}
}
Write-host "Prüfe $($rechnernamen.Count) Computer..."
# Prüfung für alle Systeme in der Liste
foreach($c in $Rechnernamen)
{
$istOnline = $c | Check-Online
Write-host "$c ist$(if (-not $istOnline) { " NICHT" }) erreichbar" -ForegroundColor "$(if ($istOnline) { "Green" } else { "Red" })"
# prägnanter ab PowerShell 7 mit ternärem Operator:
# Write-host "$c ist$(-not $istOnline ? ' NICHT' : '') erreichbar" -ForegroundColor "$($istOnline ? "Green" : "Red")"
if ($istOnline){ $RechnerZumHerunterfahren.Add($c) | out-null }
}
if ($RechnerZumHerunterfahren.Count -eq 0) { Write-Host "Kein System ist eingeschaltet " -ForegroundColor Green ; exit }
# Nachfrage
Write-Host "Jetzt $($RechnerZumHerunterfahren.Count) Systeme herunterfahren? J=Ja" -ForegroundColor Cyan
$r = Read-Host
if ($r -ne "j") { exit }
# Herunterfahren mit -force
foreach($c in $RechnerZumHerunterfahren)
{
Stop-Computer $c -Force;
Write-Warning "$c wird heruntergefahren...";
}
()
Haberin Sonu