
Как да получавате известия при високо натоварване на процесора?
Съдържание
PowerShell
В тази статия ще разгледаме как да използваме PowerShell за създаване на скрипт, който събира информация за натоварването на процесора. Този вид скриптове са изключително полезен за системните администратори и IT специалистите, тъй като позволява лесно и бързо наблюдение на използването на процесора в “реално време” или за определен период. Ще обясним как да използваме вградени командлети в PowerShell, за да съберем данни за натовареността, и ще покажем как тази информация може да бъде анализирана за идентифициране на потенциални проблеми в системната производителност.
Какво е PowerShell ? (натисни за да видиш)
PowerShell е мощен инструмент за автоматизация и управление, разработен от Microsoft. Той комбинира възможностите на команден интерфейс и скриптов език, което позволява на системни администратори и разработчици да автоматизират задачи, да управляват конфигурации и да работят със системни ресурси на Windows, Linux и macOS. Основният компонент на PowerShell е обектно-ориентирана среда, която използва команди, наречени cmdlet-и, за извършване на операции с обекти от .NET, което прави работата с данни и файлови системи по-интуитивна и гъвкава.
PowerShell ISE
И преди да започнем със скрипта няколко думи за това, какъв инструмент да използваме. Най-удобният инструмент е вградения в Windows - PowerShell ISE (фиг. 1), какво трябва да знаем за сигурността, когато сваляме готови скриптове.
Какво е PowerShell ISE ? (натисни за да видиш)
PowerShell ISE (Integrated Scripting Environment) е интегрирана скриптова среда за PowerShell, разработена от Microsoft. Тя предлага удобен графичен интерфейс, който позволява на потребителите да пишат, редактират, тестват и изпълняват PowerShell скриптове. PowerShell ISE разполага с функции като оцветяване на синтаксиса, автоматично довършване на команди, и дебъгинг, което улеснява създаването на сложни скриптове и намалява вероятността от грешки. Тази среда е подходяща както за начинаещи, така и за напреднали потребители, които искат да автоматизират задачи и да управляват конфигурации в Windows системи.
Сигурност
Сигурността при изпълнение на PowerShell скриптове е ключов аспект, особено в корпоративни среди, където неправилно написан или злонамерен скрипт може да изложи на риск цялата система. PowerShell разполага с няколко нива на защита, които се управляват чрез Execution Policy (политика за изпълнение) — настройка, която определя какви скриптове могат да бъдат изпълнявани.
Основните команди за управление на тази политика са: (натисни за да видиш)
Get-ExecutionPolicy – показва текущото ниво на защита.Set-ExecutionPolicy – променя политиката за изпълнение, като предлага няколко нива:Restricted – забранява изпълнението на скриптове.AllSigned – позволява само подписани скриптове от доверени източници.RemoteSigned – изисква подпис само за скриптове, изтеглени от интернет.Unrestricted – разрешава изпълнението на всички скриптове, но предупреждава потребителя при стартиране на скрипт от интернет.
Чрез използването на тези политики и подписването на скриптове администраторите могат да подсигурят изпълнението на PowerShell команди и да предотвратят потенциални заплахи.
В общия случай се използва политиката за “отдалечено подписан скрипт”, тъй като по този начин знаем кой е авторът на скрипта и се задава с командата Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser (фиг.2).
Скрипт
Следва да преминем към забавната част. Копирайте си скрипта в клипборда, поставете го в PowerShell ISE и го запишете на място и с име, които трябва да запомните защото ще ви трябват по-късно. Можете да го стартирате със зелената стрелка и да го спрете със стоп бутона (фиг. 1).
c:\Users\вашето потребителско име\scripts и записвайте там своите скриптове..ps1 | |
Скриване на прозореца при изпълнение
При изпълнението на всеки скрипт в Windows винаги има видим прозорец (PowerShell ISE, PowerShell конзолата или Windows Terminal). Към този момент сме открили само един начин за ефективно скриване на прозореца. Оригиналният скрипт на Andreas Mariotti може да бъде намерен тук . В нашата версия има леки промени, но като цяло е запазен оригиналът.
| |
Скрипта трябва да запишете на същото място както и предния, след което е достатъчно да се стартира веднъж и в същата папката ще се появи PowerShellHost.exe.
Task Scheduler
Следващата стъпка е да настроим Windows да пуска скрипта при стартиране. За тази цел ще използваме Task Scheduler (фиг. 3) компонента на операционната система.
Какво е Task Scheduler ? (натисни за да видиш)
Task Scheduler е вграден инструмент в операционната система Windows за автоматизиране на изпълнението на задачи. Позволява планиране на стартирането на програми, скриптове или други процеси в определено време, при настъпване на зададени събития или по установен график. Task Scheduler работи във фонов режим и може да се използва за редовни задачи като архивиране на данни, обновления на софтуер или системни проверки.
За да стартирате Task Scheduler, можете да натиснете
клавиша на клавиатурата и да изпишете sched или task.
В инструмента трябва да натиснете върху Task Scheduler Library(1) в лявата секция, след което ще се появи в дясната секция възможност за създаване на нова задача Create Task...(2) (фиг. 4).
За име(3) на задачата напишете нещо кратко, което да Ви подсеща за темата на задачата. В описанието(4) може да се отпуснете и да пишете по-подробно. Точка (5) от (фиг. 4) указва изпълнението на задачата да се извърши само след зареждане на потребителя.
Сега трябва да зададем на второто “табче”, кога да се стартира задачата като следваме стъпките от (фиг. 5).
Аналогично следвате стъпките от (фиг. 6) и ако сте спазили препоръкта по-рано, в стъпка (4) трябва да сте получили "c:\Users\вашето потребителско име\scripts\PowerShellHost.exe", а в стъпка (5) "c:\Users\вашето потребителско име\scripts\името на скрипт1.ps1".
Пресъздайте настройките, както са показани на (фиг. 7) и (фиг. 8). Когато сте готови запишете задачата с ОК бутона.
Вече всичко е готово! Сега, ако не ни се чака до следващия рестарт на системата можем да натиснем десен клавиш върху задачата и да изберем Run.
Бонус съдържание
Разбира се може да направите промени по скрипта. Например, ако желаете скриптът да реагира по-рано можете да промените ред 8 със желаната стойност
$cpuThreshold = 75 # предел на натоварването
или да промените известието(ред 25) на български език
$message = "Натоварването на процесора е над $cpuThreshold%! В $timestamp натоварването е $cpuUsage%."
Експериментирайте…







