[главная] | [каталоги]






создан: 2023-09-11 08:24:00
пользователь: cloud раздел: windows
[302]
script poweroff servers
powershell windows, скрипт для отключения серверов через проверки доступности ип и время в планировщике предположительно ваш ИБП имеет запас прочности в 10-20-30 минут
СКРИПТ poweroff.ps1
[i]# ип адреса, которые надо проверять, в коде вписано проверять 3 ип адреса
$ip1 = "192.168.1.22"
$ip2 = "192.168.1.30"
$ip3 = "192.168.1.37"
# количество попыток проверить 1 ип адрес
$count_ping = 5
# 0 1 2 3 (0 default, 3 попытки, т.е на 3 попытке выключается, если не пингуются)
# количество попыток в "общем" проверить выключены ли ип адреса,
# делается через планировщик с промежутком например в 10 минут
# т.е через 20-30 минут выключится пк/сервер (можете уменьшить количество, если не доверяете своему ИБП)
$count_off = 3
# местоположение скрипта
$path = $MyInvocation.MyCommand.Path | split-path -parent
# название файла, куда будут записываться количества попыток
$textfile_this = "$path\poweroff.txt";
function is_numeric($val) {
return $val -match "^[\d\.]+$"
}
function poweroff($val){
# проверяем существование файла 1: poweroff.txt
#
# если файл не существует, то создаём файл и присваиваем $val
if((Test-Path -Path $textfile_this) -eq $False){
echo "add file $textfile_this"
New-Item -Path $textfile_this -ItemType File
$val > $textfile_this
$textfile_read = $val
# если файл существует, то меняем ...
загрузить
ещё
ещё