Powershell Урок за начинаещи: Научете Powershell Scripting
Какво е PowerShell?
Windows PowerShell е обектно-ориентиран двигател за автоматизация и скриптов език. Предназначен е главно за ИТ специалисти и системни администратори за контрол и автоматизиране на администрирането Windows ОС и други приложения. Той предоставя завладяващи нови концепции за разширяване на знанията, които сте придобили, и скриптовете, които сте създали в рамките на Windows Команден ред и Windows Скриптови хост среди.
Той съчетава гъвкавостта на скриптовете, скоростта на командния ред и силата на GUI-базиран инструмент за администриране. Позволява ви да решавате проблеми ефективно, като помага на системния администратор да елиминира бъдещите часове ръчен труд. Ще преминем през всички важни аспекти, които трябва да знаете, за да научите PowerShell.
Това е пълно ръководство за основите на скриптовете на Powershell… нека започнем!
Защо да използвате Powershell?
Ето някои важни причини да използвате Powershell:
- Powershell предлага добре интегрирано изживяване на командния ред за операционната система
- PowerShell позволява пълен достъп до всички типове в .NET framework
- Доверен от системните администратори.
- PowerShell е лесен начин за манипулиране на компоненти на сървър и работна станция
- Той е насочен към системните администратори, като създава по-лесен синтаксис
- PowerShell е по-сигурен от работещ vbscript или други скриптови езици
История на PowerShell
Първата версия 1.0 на PowerShell беше пусната през 2006 г. Днес PowerShell е във версия 7.2. С изминаването на годината и версията възможностите на PowerShell и хостинг средите нараснаха значително.
Нека да видим историята на Powershell по отношение на версията:
- PowerShell версия 1 поддържа локалната администрация на Windows Сървър 2003
- PowerShell 2.0 беше интегриран с Windows 7 и Windows Сървър 2008 R2. Тази версия поддържа отдалечено управление и подобрява възможностите на PowerShell като транзакции, фонови задания, събития, отстраняване на грешки и др.
- PowerShell 3.0 беше пуснат като вътрешна част от Windows управленска рамка. Беше инсталиран на Windows 8 и Windows Сървър 2012. Можете да добавяте и планирани задачи, свързване на сесии, автоматично зареждане на модули и т.н.
- PowerShell 4.0 беше доставен с Windows 8.1 и Windows Сървър 2012 R2. В тази версия е добавена поддръжка за конфигурация на желаното състояние, подобрено отстраняване на грешки, мрежова диагностика.
- PowerShell 5.0 беше пуснат като вътрешна част от Windows рамка за управление 5. Предлаганите функции в тази версия са отдалечено отстраняване на грешки, дефиниции на класове, .NET изброявания и др.
- Беше пуснат PowerShell 7.2. Изграден е на .NET 6.0. Тази версия предлага нови оператори, опростен и динамичен изглед на грешки, автоматични известия за нова версия и др.
След това в този урок за скриптове на Powershell ще научим за функциите на Powershell.
Характеристики на Powershell
- PowerShell Remoting: PowerShell позволява извикване на скриптове и командлети на отдалечена машина.
- Фонови задачи: Помага ви да извикате скрипт или конвейер асинхронно. Можете да изпълнявате задачите си или на локалната машина, или на множество дистанционно управлявани машини.
- Сделки: Активирайте cmdlet и позволява на разработчиците да изпълняват
- Вечер: Тази команда ви помага да слушате, препращате и действате при управление и системни събития.
- Мрежово прехвърляне на файлове: Powershell предлага вградена поддръжка за приоритизирано, асинхронно, ограничено прехвърляне на файлове между машини с помощта на технологията Background Intelligent Transfer Service (BITS).
Как да стартирате PowerShell
Сега в този урок за скриптове на Powershell ще научим как да стартираме Powershell на Windows OS.
PowerShell е предварително инсталиран във всички най-нови версии на Windows. Трябва да стартираме PowerShell, за което трябва да следваме дадените стъпки:
Стъпка 1) Потърсете PowerShell в Windows. Изберете и щракнете
Стъпка 2) Отваря се прозорец на Power Shell
PowerShell Cmdlet
Кратка команда, която също се нарича Command let is a, е лека команда, използвана в средата на PowerShell на базата на Window. PowerShell извиква тези командлети в командния ред. Можете да създадете и извикате команда за кратки команди с помощта на PowerShell APIS.
Cmdlet срещу команда
Кратки команди се различават от командите в други командни обвивки по следните начини?
- Кратки команди са . NET Framework клас обекти Не може да се изпълнява отделно
- Кратки команди могат да се съставят само от дузина редове код
- Анализът, форматирането на изхода и представянето на грешки не се обработват от кратки команди
- Процесът на командлети работи върху обекти. Така че текстовият поток и обектите не могат да бъдат предавани като изход за конвейер
- Кратки команди са базирани на записи, тъй като обработват един обект наведнъж
По-голямата част от функционалността на PowerShell идва от Cmdlet, който винаги е във формат глагол-съществително, а не множествено число. Освен това Cmdlet връща обекти, а не текст. Кратка команда е поредица от команди, която е повече от един ред, съхранявана в текстов файл с разширение .ps1.
Командлет винаги се състои от глагол и съществително име, разделени с тире. Някои от глаголите, които използвате, за да научите PowerShell, са:
- Обратна — Да получа нещо
- Начало — Да ръководя нещо
- от — Да изведа нещо
- Спиране — Да спре нещо, което работи
- комплект — Да определя нещо
- НОВ — Да създам нещо
PowerShell команди
Следва списък с важни команди на PowerShell:
Извикай помощ: Помощ за командите и темите на PowerShell
Пример: Показване на помощна информация за командата Format-Table
Get-Help Format-Table
Get-Command: Получете информация за всичко, което може да бъде извикано
Пример за скрипт на Powershell: За генериране на списък с кратки команди, функции, инсталирани на вашата машина
Get-Command
Get-Service: Намира всички командлети с думата „услуга“ в тях.
Пример: Вземете всички услуги, които започват с „vm“
Get-Service "vm*"
Get- Member: Покажете какво може да се направи с даден обект
Пример: Вземете членове на vm процесите.
Get-Service "vm*" | Get-Member
Други команди:
- Get Module Показва пакети от команди
- Получаване на съдържание Тази кратка команда може да вземе файл, да обработи съдържанието му и да направи нещо с него
- Get- get Намира всички кратки команди, започващи с думата 'get-
Пример: Създаване на папка
New-Item -Path 'X:\Guru99' -ItemType Directory
Изход:
Powershell типове данни
Специални променливи
Специална променлива | Descriptйон |
---|---|
$Error | Масив от обекти за грешки, които показват най-новите грешки |
$Host | Показване на името на текущото хостинг приложение |
$Профил | Съхранява целия път на потребителски профил за обвивката по подразбиране |
$PID | Съхранява идентификатора на процеса |
$PSUICulture | Той съдържа името на текущата UI култура. |
$NULL | Съдържа празна или NULL стойност. |
$False | Съдържа FALSE стойност |
$True | Съдържа TRUE стойност |
Скриптове на PowerShell
Powershell скриптовете се съхраняват в .ps1 файл. По подразбиране не можете да стартирате скрипт, като просто щракнете двукратно върху файл. Това предпазва вашата система от случайни повреди. За да изпълните скрипт:
Стъпка 1: щракнете с десния бутон върху него и щракнете върху „Изпълни с PowerShell“.
Освен това има политика, която ограничава изпълнението на скрипт. Можете да видите тази политика, като изпълните командата Get-ExecutionPolicy.
Ще получите един от следните резултати:
- Ограничен— Не са разрешени скриптове. Това е настройката по подразбиране, така че ще се покаже за първи път, когато изпълните командата.
- AllSigned— Можете да изпълнявате скриптове, подписани от доверен разработчик. С помощта на тази настройка скриптът ще поиска потвърждение, че искате да го изпълните, преди да се изпълни.
- RemoteSigned— Можете да изпълнявате вашите или скриптове, подписани от доверен разработчик.
- неограничен— Можете да стартирате всеки скрипт, който искате да стартирате
Стъпки за промяна на политиката за изпълнение
Стъпка 1) Отворете подкана с повишени права на PowerShell. Щракнете с десния бутон върху PowerShell и „Изпълни като администратор“
Стъпка 2) Въведете следните команди
- Get-ExecutionPolicy
- Политиката за изпълнение на набора е неограничена
- Въведете Y в подканата
- Get-ExecutionPolicy
Първият PowerShell скрипт
В бележник напишете следната команда
Write-Host "Hello, Guru99!"
PowerShell Scripts имат разширение ps1. Запазете файла като FirstScript.ps1
В Powershell извикайте скрипта с помощта на командата
& "X:\FirstScript.ps1"
Какво е PowerShell ISE?
- Windows PowerShell Integrated Scripting Environment (ISE) е редакторът по подразбиране за Windows PowerShell. В този ISE можете да изпълнявате команди, да тествате запис и да отстранявате грешки в скриптове в GUI среда, базирана на прозорец. Можете да правите многоредово редактиране, оцветяване на синтаксиса, довършване на раздели, селективно изпълнение и много други неща.
Windows PowerShell ISE също ви позволява да изпълнявате команди в конзолен панел. Въпреки това, той също поддържа панели, които можете да използвате, за да видите едновременно изходния код на вашия скрипт и други инструменти, които можете да включите в ISE.
Можете дори да отворите няколко прозореца на скриптове едновременно. Това е особено полезно, когато отстранявате грешки в скрипт, който използва функции, дефинирани в други скриптове или модули.
Същият скрипт, който създадохме в notepad, може да бъде създаден в ISE
- Поставете кода в редактора
- Запазване на скрипта
- Използвайте F5, за да стартирате скрипта
- Наблюдавайте изхода в конзолата
Пример 2:
Следният код ще даде Free Виртуална памет във вашата машина
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShell Concepts
Сега в този урок за Powershell за начинаещи ще научим за важни концепции на Powershell:
Cmdlets | Cmdlet са команда за изграждане, написана на .net езици като VB или C#. Позволява на разработчиците да разширят набора от кратки команди чрез зареждане и запис на PowerShell модули. |
Функции | Функциите са команди, които са написани на езика PowerShell. Може да се разработи без използване на други подобни IDE Visual Studio и разработчици. |
Scripts | Скриптовете са текстови файлове на диск с разширение .ps1 |
Приложения | Приложенията са съществуващи Windows програми. |
Какво ако | Казва на cmdlet да не се изпълнява, а да ви каже какво ще се случи, ако cmdlet се изпълни. |
потвърждавам | Инструктирайте cmdlet да извежда подкана преди изпълнение на командата. |
многословен | Дава по-високо ниво на детайлност. |
Debug | Инструктира кратката команда да предостави информация за отстраняване на грешки. |
ErrorAction | Инструктира кратката команда да извърши конкретно действие, когато възникне грешка. Разрешените действия продължават, спират, тихо - продължават и запитват. |
ErrorVariable | Той определя променливата, която съдържа информация за грешка. |
OutVariable | Указва на cmdlet да използва конкретна променлива за задържане на изходната информация |
отBuffer | Инструктира кратката команда да задържи конкретния брой обекти, преди да извика следващата кратка команда в конвейера. |
Предимства от използването на PowerShell скрипт
- Скриптовете PowerShell са наистина мощни и могат да направят много неща с по-малко редове.
- Променливите се декларират във формата $
- Променливите могат да се използват за задържане на изхода на команда, обекти и стойности.
- Не е необходимо да се посочва „тип“ на променлива.
PowerShell Vs. Команден ред
PowerShell | Command Prompt |
---|---|
PowerShell се интегрира дълбоко с Windows OS. Той предлага интерактивен интерфейс на командния ред и скриптов език. | Командният ред е интерфейс на командния ред по подразбиране, който се предоставя от Microsoft. Това е просто win32 приложение, което може да взаимодейства и да разговаря с всякакви win32 обекти в Windows операционна система. |
PowerShell използва това, което е известно като командлети. Може да бъде извикан или в средата за изпълнение, или в скриптовете за автоматизация. | Няма такива функции, предлагани от командния ред. |
PowerShell ги разглежда като обекти. Така че изходът може да бъде предаден като вход към други кратки команди през тръбопровода. | Команден ред или дори *nix shell, изходът, генериран от cmdlet, не е просто поток от текст, а колекция от обекти. |
PowerShell е много напреднал по отношение на функциите, възможностите и вътрешното функциониране. | Командният ред е много елементарен. |
Приложения на Powershell
Днес PowerShell се превърна в идеален избор за ИТ администратори, тъй като улеснява управлението и усилията в големи корпоративни мрежи. Да приемем например, че управлявате голяма мрежа, която съдържа повече от четиристотин сървъра. Сега искате да внедрите ново решение за сигурност. Това решение за сигурност зависи от определена услуга, която трябва да работи на тези сървъри.
Със сигурност можете да влезете във всеки сървър и да видите дали тази услуга е инсталирана и работи или не. Със сигурност обаче са необходими много човешки грешки, тъй като вашият персонал трябва да отдели много време за този непродуктивен процес.
Въпреки това, ако използвате PowerShell, можете да изпълните тази задача само за няколко минути. Това е така, защото цялата операция се извършва с един скрипт, който събира информация за услугите, изпълнявани на сървърите.
Oбобщение
- Windows PowerShell е обектно-ориентиран механизъм за автоматизация и скриптов език
- Powershell предлага добре интегрирано изживяване на командния ред за операционната система
- Първата версия 1.0 на PowerShell беше пусната през 2006 г
- PowerShell позволява извикване на скриптове и командлети на отдалечена машина
- PowerShell е предварително инсталиран във всички най-нови версии на Windows
- Кратка команда е лека команда, използвана в средата на PowerShell на базата на Window
- Get, Start, Out, Stop, Set, New са важни команди на PowerShell
- Boolean, Byte, Chat, Decimal, Decimal, Long са важни типове данни на PowerShell
- $Error. $Host, $Profile, $PID, $PSUICulture, $NULL са някои специални променливи, използвани в PowerShell
- - Windows PowerShell Integrated Scripting Environment (ISE) е редакторът по подразбиране за PowerShell
- PowerShell се интегрира дълбоко с Windows OS, докато командният ред е интерфейс на командния ред по подразбиране, който се предоставя от Microsoft
- PowerShell се превърна в идеален избор за ИТ администратори, тъй като улеснява управлението и усилията в големи корпоративни мрежи