Докато тази серия не е структурирана около изпита, ученето на PowerShell е едно от най-важните неща, които можете да направите като мрежов администратор, така че ако има едно нещо, което искате да научите, за да помогнете в ИТ кариерата си, това е всичко. Плюс това, това е много забавно.
Въведение
PowerShell е най-мощният инструмент за автоматизация, който Microsoft може да предложи, както и черупка и скриптов език.
Моля, имайте предвид, че тази серия е базирана на PowerShell 3, която се доставя с Windows 8 и Server 2012. Ако използвате Windows 7, моля, изтеглете актуализацията на PowerShell 3, преди да продължите.
Запознайте се с конзолата и ISE
Има два начина за взаимодействие с PowerShell от кутията, конзолата и интегрираната среда за сканиране - известна още като ISE. ISE се е подобрила значително от скритата версия, която е доставена с PowerShell 2 и може да бъде отворена чрез натискане на клавишната комбинация Win + R, за да се появи работна кутия, след това да се напишат powershell_ise и да се натисне enter.
Използване на системата за помощ
В предишни версии на PowerShell са включени помощни файлове, когато сте инсталирали Windows. Това беше добро решение в по-голямата си част, но ни остави сериозен проблем. Когато помощният екип на PowerShell трябваше да спре да работи върху помощните файлове, разработчиците на PowerShell все още бяха натоварени с кодирането и извършването на промени. Това означаваше, че при изпращането на PowerShell помощните файлове са неправилни, защото не съдържат по-новите промени, направени в кода. За да реши този проблем, PowerShell 3 се предлага без помощни файлове от кутията и включва актуализираща се помощна система. Това означава, преди да направите всичко, което ще искате да изтеглите най-новите помощни файлове. Можете да направите това, като отворите конзолата PowerShell и стартирате:
Update-Help
Get-Help –Name Update-Help
За да отговорите на втория въпрос, има определен синтаксис, че файловете за помощ следват и тук е:
- Квадратните скоби около името на параметъра и неговия тип означават, че той е незадължителен параметър и командата ще работи добре без него.
- Квадратните скоби около имената на параметрите означават, че параметрите са позиционен параметър.
- Нещата отдясно на параметър в ъгловите скоби ви съобщават типа данни, който параметърът очаква.
Докато трябва да се научите да четете синтаксиса на помощния файл, ако някога не сте сигурни за даден параметър, просто добавете "Пълен" до края на командата за получаване на помощ и превъртете надолу до секцията за параметри, където ще ви разкаже малко повече за всяка параметър.
Get-Help –Name Update-Help –Full
Get-Help –Name *service*
Сигурност
Това не би било подходящо въведение, без да се споменава сигурността. Най-голямото притеснение за екипа на PowerShell е, че PowerShell се превръща в най-новата и най-голяма атака за детските играчи. Те са поставили няколко мерки за сигурност, за да се уверят, че това не се случи, така че нека да ги разгледаме.
Най-основната форма на защита произтича от факта, че разширението на файловете за PS1 (разширението, използвано за означаване на PowerShell скрипт), не е регистрирано с хост PowerShell, всъщност е регистриран в Notepad. Това означава, че ако кликнете два пъти върху файл, ще се отвори с бележник, вместо да се изпълнява.
На второ място, не можете да стартирате скриптове от корпуса, просто като напишете името на скрипта, трябва да зададете пълния път към скрипта. Така че, ако искате да изпълните скрипт на вашия C диск, ще трябва да въведете:
C:
unme.ps1
Или ако вече сте в основата на C устройството, можете да използвате следното:
unme.ps1
И накрая, PowerShell има нещо, наречено Изпълнение Политики, което ви спре от просто стартиране на някакъв стар скрипт. Всъщност по подразбиране не можете да стартирате скриптове и трябва да промените политиката си за изпълнение, ако искате да им позволите да ги пускате. Има 4 забележителни правила за изпълнение:
- Ограничен: Това е конфигурацията по подразбиране в PowerShell. Тази настройка означава, че не може да се изпълнява скрипт, независимо от неговия подпис. Единственото нещо, което може да се изпълнява в PowerShell с тази настройка, е индивидуална команда.
- AllSigned: Тази настройка позволява скриптовете да се изпълняват в PowerShell. Скриптът трябва да има асоцииран цифров подпис от надежден издател. Ще има подкана, преди да стартирате скриптовете от надеждни издатели.
- RemoteSigned: Тази настройка позволява скриптове да се изпълняват, но изисква скриптовете и конфигурационните файлове, които са изтеглени от Интернет, да имат асоцииран цифров подпис от надежден издател. Скриптовете, изпълнявани от локалния компютър, не е необходимо да бъдат подписани. Няма указания, преди да стартирате скрипта.
- неограничен: Това позволява да се изпълняват неподписани скриптове, включително всички скриптове и конфигурационни файлове, изтеглени от Интернет. Това ще включва файлове от Outlook и Messenger. Рискът тук е работа скриптове без никакъв подпис или сигурност. Потвърдихме, че никога не сте ни тази настройка.
За да видите какви са текущите Ви правила за изпълнение, отворете конзолата PowerShell и въведете:
Get-ExecutionPolicy
Забележка: Това трябва да бъде направено от издигната конзола PowerShell.
Set-ExecutionPolicy RemoteSigned
Отказ от отговорност: Правилният термин за командата PowerShell е cmdlet и отсега нататък ще използваме тази правилна терминология. Просто се чувстваше по-подходящо да им се обадят команди за това въведение.
Ако имате някакви въпроси, можете да ми пишете @taybgibb или просто да оставите коментар.