Не забравяйте да прочетете предишните статии в серията:
- Научете как да автоматизирате Windows с PowerShell
- Научете как да използвате Cmdlets в PowerShell
- Учене как да използвате обекти в PowerShell
- Форматиране на обучение, филтриране и сравнение в PowerShell
- Научете как да използвате Remoting в PowerShell
- Използване на PowerShell за получаване на компютърна информация
- Работа с колекции в PowerShell
И останете настроени за останалата част от серията през цялата седмица.
Snapins
Snapins са така миналата година. Всички шеги настрани, никога не се захващат в общността на PowerShell, защото повечето сценаристи не са разработчици и можете само да пишете snapins на език като C #. Въпреки това все още има някои продукти, които използват Snapins, например Web Deploy. За да видите кои snapins са достъпни за вас в shell, използвайте следната команда:
Get-PSSnapin –Registered
Add-PSSnapin -Name WDeploySnapin3.0
В този момент ще получите грешка, ако не сте инсталирали модула за инсталиране на Web Deploy. Ако го инсталирате, както го правя, то ще бъде внесено в сесията ви. За да получите списък с команди, налични в snapin, можете просто да използвате cmdlet за получаване на команда:
Get-Command –Module WDeploy*
Забележка: Технически това не е модул, но по някаква причина все пак трябва да използвате параметъра Модул.
модули
Модулите са по-нови и са пътят напред. Те могат да бъдат написани както с PowerShell, така и с кодирани на език като C #. Повечето от вградените команди са организирани и в модули. За да видите списък с модули на вашата система, можете да използвате следната команда:
Get-Module –ListAvailable
За да използвате модул, първо трябва да го импортирате.
Import-Module -Name SQLASCMDLETS
Можете да използвате същия трик, който използвахме с snapins, за да видите всички команди, които модулът е добавил към корпуса.
($env:PSModulePath).Split(“;”)
Това ще изплюе съдържанието на променливата. Забележете, че ако имате инсталиран модул като SQL, как е променял променливата така, че да включва местоположението на SQL модула.
Автоматично зареждане на модула
PowerShell 3 представи страхотна нова функция, която се нарежда с няколко имена. Никоя от тях не е официална, но "Модул за автоматично зареждане" е най-доброто описание. По същество той ви позволява да използвате команди, които принадлежат на външен модул, без да внасяте изрично модула с помощта на cmdlet за импортиране на модули. За да видите това, първо премахнете всички модули от корпуса си, като използвате следната команда:
Get-Module | Remove-Module
След това можете да проверите дали нямате заредени модули, като използвате следното:
Get-Module
Test-Connection localhost