[Специалист] Автоматизация административных задач при помощи Windows PowerShell 3.0 [2015, RUS]

Видео 1-3

И то, что удалось извлечь



Командлеты имеют структуру Глагол-Существительное.
Возвращаемые командлетом значения - объекты, к ним можно обращаться. 

Угадывать команды не надо. Надо искать в Get-Help, а также по глаголам, существительным - Get-Command и модулям - Get-Module.
Каждая команда/командлет - относится к какому-либо модулю (прав. колонка Get-Command) - аналог пакета, библиотеки для программирования.
Get-Module - ListAvailable - выдает список доступных модулей. Отличаются для разных версий PS, для разных ОС и установленных приложений.
Win7 - PS ver 2, ver 3, но версия 3 тут будет отличаться от Win8
Win8 - Ps ver 3
Еще раз, алгоритм поиска команды: Get-Command - ищет команды для ваших потребностей
                         -Verb ХХХ
                         -Noun XXXX
Get-Command -verb Get -noun *Servi*
Get-Command -verb Get -noun proc*
Get-Command -verb stop -noun proc*
                         -Module ZZZZ - уточняем Get-Module
Get-Module - Модули не обязательная часть текущей версии PowerShell
                         -ListAvailable -All
Только затем HELP натравливаем на нужную команду

Алиасы - сокращения командлетов. Просмотр Get-Alias или ls Alias:\
Команды - это не Алиасы.

Переменные
$PSVersionTable - To see the version of PowerShell, use the built in variable
$env:PSModulePath - to get a list of your module folders.

Команды
cd / - в корень диска С
Update-Help - обновление справки из Internet (запускается от Администратора)
Save-Help - Сохранить Help для переноса на изолированные ПК
write-host - Вывод в командную строку результата


GET
Get-Command | more - Список команд  в постраничном представлении
       Get-Command -Verb Get | more, задаем поиск по глаголу, например  Get
       Get-Command -Noun Service | more, задаем поиск по существительному, например  Get
              Get-Command -Noun Module - вывод всех командлетов с существительным
                                                                содержащим слово Module
       Get-Command -Module AppLocker | more, задаем поиск по модулям, например  AppLocker
       Get-Command -name *<часть названия командлета>* - * wildsymbols, показывает не только командлеты, но и снапины и Applications (dll-ки).
Get-Command -name *log* -CommandType cmdlet, Function - все командлеты и функции с *log*
еще прикольнее:
Get-Command -name *ev*log* -CommandType cmdlet, Function

Get-Date - текущая дата
Get-Date | select DayOfWeek  день недели

Get-Help | more - помощь/справка с постраничным выводом (alias - help)
              <Команда> -Detailed  - Детальная, расширенная
              <Команда> -Full - Если не хватает предыдущей
              <Команда> -Examples - Выводит примеры
              <Команда> -Online - Открывает браузер для просмотра хелпа по командлету
 Get-help about_* - не работает в Win10 Rus
Get-Process - просмотр процессов
Get-Service - просмотр сервисов

Работа с модулями
Get-Module - работа с модулями
        Get-Module -ListAvailable - список доступных командлетов в модулях
Import-Module -Name XXXXX - импорт модуля, необходимо делать каждый раз, когда запускаете PowerShell или скрипт

Работа со снапинами
Get-PSsnapin -registered - зарегистрированные снапины
Add-PSSnapin

SET

New
New-Item -ItemType "directory" -path "c:\temp\" -Name "Scripts" - создание каталога