Мар 5
Alias           ac           Add-Content                                        
Alias           asnp         Add-PSSnapIn                                       
Alias           clc          Clear-Content                                      
Alias           clhy         Clear-History                                      
Alias           clear        Clear-Host                                         
Alias           cls          Clear-Host                                         
Alias           cli          Clear-Item                                         
Alias           clp          Clear-ItemProperty                                 
Alias           clv          Clear-Variable                                     
Alias           diff         Compare-Object                                     
Alias           compare      Compare-Object                                     
Alias           cvpa         Convert-Path                                       
Alias           copy         Copy-Item                                          
Alias           cp           Copy-Item                                          
Alias           cpi          Copy-Item                                          
Alias           cpp          Copy-ItemProperty                                  
Alias           dbp          Disable-PSBreakpoint                               
Alias           ebp          Enable-PSBreakpoint                                
Alias           etsn         Enter-PSSession                                    
Alias           exsn         Exit-PSSession                                     
Alias           epal         Export-Alias                                       
Alias           epcsv        Export-Csv                                         
Alias           epsn         Export-PSSession                                   
Alias           %            ForEach-Object                                     
Alias           foreach      ForEach-Object                                     
Alias           fc           Format-Custom                                      
Alias           fl           Format-List                                        
Alias           ft           Format-Table                                       
Alias           fw           Format-Wide                                        
Alias           gal          Get-Alias                                          
Alias           ls           Get-ChildItem                                      
Alias           gci          Get-ChildItem                                      
Alias           dir          Get-ChildItem                                      
Alias           gcm          Get-Command                                        
Alias           gc           Get-Content                                        
Alias           cat          Get-Content                                        
Alias           type         Get-Content                                        
Alias           ghy          Get-History                                        
Alias           h            Get-History                                        
Alias           history      Get-History                                        
Alias           gi           Get-Item                                           
Alias           gp           Get-ItemProperty                                   
Alias           gjb          Get-Job                                            
Alias           gl           Get-Location                                       
Alias           pwd          Get-Location                                       
Alias           gm           Get-Member                                         
Alias           gmo          Get-Module                                         
Alias           ps           Get-Process                                        
Alias           gps          Get-Process                                        
Alias           gbp          Get-PSBreakpoint                                   
Alias           gcs          Get-PSCallStack                                    
Alias           gdr          Get-PSDrive                                        
Alias           gsn          Get-PSSession                                      
Alias           gsnp         Get-PSSnapIn                                       
Alias           gsv          Get-Service                                        
Alias           gu           Get-Unique                                         
Alias           gv           Get-Variable                                       
Alias           gwmi         Get-WmiObject                                      
Alias           group        Group-Object                                       
Alias           man          help                                               
Alias           ipal         Import-Alias                                       
Alias           ipcsv        Import-Csv                                         
Alias           ipmo         Import-Module                                      
Alias           ipsn         Import-PSSession                                   
Alias           icm          Invoke-Command                                     
Alias           iex          Invoke-Expression                                  
Alias           r            Invoke-History                                     
Alias           ihy          Invoke-History                                     
Alias           ii           Invoke-Item                                        
Alias           iwmi         Invoke-WMIMethod                                   
Alias           measure      Measure-Object                                     
Alias           md           mkdir                                              
Alias           mv           Move-Item                                          
Alias           move         Move-Item                                          
Alias           mi           Move-Item                                          
Alias           mp           Move-ItemProperty                                  
Alias           nal                                                 New-Alias                                          
Alias           ni                                                  New-Item                                           
Alias           nmo                                                 New-Module                                         
Alias           ndr                                                 New-PSDrive                                        
Alias           mount                                               New-PSDrive                                        
Alias           nsn                                                 New-PSSession                                      
Alias           nv                                                  New-Variable                                       
Alias           ogv                                                 Out-GridView                                       
Alias           oh                                                  Out-Host                                           
Alias           lp                                                  Out-Printer                                        
Alias           popd                                                Pop-Location                                       
Alias           ise                                                 powershell_ise.exe                                 
Alias           pushd                                               Push-Location                                      
Alias           rcjb                                                Receive-Job                                        
Alias           rmdir                                               Remove-Item                                        
Alias           rm                                                  Remove-Item                                        
Alias           ri                                                  Remove-Item                                        
Alias           rd                                                  Remove-Item                                        
Alias           erase                                               Remove-Item                                        
Alias           del                                                 Remove-Item                                        
Alias           rp                                                  Remove-ItemProperty                                
Alias           rjb                                                 Remove-Job                                         
Alias           rmo                                                 Remove-Module                                      
Alias           rbp                                                 Remove-PSBreakpoint                                
Alias           rdr                                                 Remove-PSDrive                                     
Alias           rsn                                                 Remove-PSSession                                   
Alias           rsnp                                                Remove-PSSnapin                                    
Alias           rv                                                  Remove-Variable                                    
Alias           rwmi                                                Remove-WMIObject                                   
Alias           rni                                                 Rename-Item                                        
Alias           ren                                                 Rename-Item                                        
Alias           rnp                                                 Rename-ItemProperty                                
Alias           rvpa                                                Resolve-Path                                       
Alias           select                                              Select-Object                                      
Alias           sal                                                 Set-Alias                                          
Alias           sc                                                  Set-Content                                        
Alias           si                                                  Set-Item                                           
Alias           sp                                                  Set-ItemProperty                                   
Alias           sl                                                  Set-Location                                       
Alias           cd                                                  Set-Location                                       
Alias           chdir                                               Set-Location                                       
Alias           sbp                                                 Set-PSBreakpoint                                   
Alias           set                                                 Set-Variable                                       
Alias           sv                                                  Set-Variable                                       
Alias           swmi                                                Set-WMIInstance                                    
Alias           sort                                                Sort-Object                                        
Alias           sajb                                                Start-Job                                          
Alias           start                                               Start-Process                                      
Alias           saps                                                Start-Process                                      
Alias           sasv                                                Start-Service                                      
Alias           sleep                                               Start-Sleep                                        
Alias           spjb                                                Stop-Job                                           
Alias           kill                                                Stop-Process                                       
Alias           spps                                                Stop-Process                                       
Alias           spsv                                                Stop-Service                                       
Alias           tee                                                 Tee-Object                                         
Alias           wjb                                                 Wait-Job                                           
Alias           where                                               Where-Object                                       
Alias           ?                                                   Where-Object                                       
Alias           write                                               Write-Output                                       
Alias           echo                                                Write-Output
Мар 5

Вывести все диски

Get-Psdrive

Переход по файловой системе

Set-Location c:  = cd c:

Содержимое каталога

Get-Childitem  = ls = dir

Удалить

Remove-Item

Создать директорию

New-Item .\test -Type Directory

Переместить

Move-Item .\test.txt .\новая папка

Поместить результат в файл

Get-Process | Out-File C:\1.txt

Get-Process | Convertto-Html

Get-Process | Export-CSV

Get-Process | Export-CliXML

Мар 5

Передача данных одного командлета на вход другого осуществляется через символ | .

Get-Process | Sort-Object

Поместить команду в переменную и ее вызов

$a = Get-Process | Sort-Object

$a

Ветвящиеся конструкции

If (условие) {команда1 ; команда2}
Elseif (условие 2) {команда}
Else {команда1 ; команда2;команда3}

Синтаксис в условиях

-Eq               Равно
-Match       Сравнение по регулярному выражению
-Ne               Не равно
-Notmatch       Не совпадает с регулярным выражением
-Gt -Ge       Больше / Больше или равно
-Lt -Le       Меньше / Меньше или равно

Вывести сообщение

Write-Warning «err 111111«

Обработка в цикле (помогает, когда нужно обработать большой входящий поток текстовых данных построчно)

командлет | ForEach-Object { командлет}

 

Мар 5

Команда в WPS носит название командлет.

Просмотр сервисов.

Get-Service

Просмотр процессов.

Get-Process

Просмотр дисков.

Get-Psdrive

Просмотр текущей директории.

Get-Childitem  = ls = dir

Передать результат другому командлету (получить сервисы и осортировать = получить сервисы в отсортированном виде).

Get-Service | Sort-Object

Просмотр всех журналов

Get-Eventlog -List

 

Мар 5

Честно сказать, даже не знаю с чего начать. Так как впервые у системных администраторов новый, удобный и гибкий инструмент администрирования операционных систем Windows, который предоставляет выполнение многих задач не вставая с рабочего места и сводит все к одному скрипту.

Доступ практически ко всем параметрам ОС как локальной так и удаленной осуществляется через командную оболочку. Благодаря этому «матерые» администраторы Power Shell могут даже не устанавливать GUI, чтобы съэкономить ценные ресурсы сервера.

Раньше написание скриптов сводилось всего лишь к манипуляции GUI (графическим пользовательским интерфейсом) или управлением какой-нить маленькой утилитой, которая работала только в командной строке. Пару раз подводила, например, манипуляция с GUI утилиты Windows Backup. Всплывающее окно антивируса и все. Окно антивируса в фокусе, ожидание действия пользователя над зараженным файлом, блокировка файла в теневой копии, остановка скрипта в планировщике. Конечно, можно было найти другое решение проблемы, но не хотелось усложнять.

GUI не так удобна, как кажется. Управление сервером обычно осуществляется через оснастки mmc. Честно, когда встала задача блокировки запуска блокнота (даже переименованного) никакого другого решения как через оснастку не было. Причем пришлось облазить кучу англо-ресурсов в поиске решения. На хабре (не помню, где находится материал) задача была решена одним скриптом PowerShell. Да и в оснастках главное запомнить, как добраться до того или иного параметра. В WPS (Windows Power Shell), благодаря объектной модели, достаточно запросить параметры объекта одной командой.

Также можно управлять объектами COM. Для чего? Например, при установленном Exel или Word создать новый документ из командной строки, определить его структуру, добавить данные. Удобно же? Особенно, если стоит задача в создании 100 документов одинаковой структуры с порядковой нумерацией в названии и другими извратами. Или поместить результат работы скрипта в IE.

В Power Shell реализован механизм конвейерной обработки. Данные с выхода одной команды можно подать на вход другой. Можно программировать. Стандартные конструкции позволяют выполнить проверку условия и выполнить ту или иную команду в случае совпадения/несовпадения условия, можно запустить обработку команд в цикле, можно загнать длинную команду в одну переменную и манипулировать с этой переменной.

В Power Shell доступны псевдонимы. Конечно, лучше писать в синтаксисе WPS, но на первых порах это поможет, например, если Вы не знаете, как посмотреть директорию. ls или dir вместо Get-Childitem. Кстати, в WPS можно лазить по реестру как по диску с каталогами. Раньше тоже можно было так? Не спорю, но теперь можно изменять параметры реестра из командной оболочки.

Я бы сказал, все это круто и все это давно есть в *nix системах. Но хорошо, что и в Windows появился такой инструмент. За многими статьями обращайтесь на хабр. Так как практически многую информацию я получал оттуда. Copy-Paste делать не буду, только выдержки, полезные команды, свои скрипты или доработанные авторские (с ссылкой на исходный) .