Конечно же, ниже представлен неполный перечень командлетов, так как их на самом деле очень много, полный список командлетов в системе Вы можете получить, выполнив следующую команду в оболочке PowerShell.
1 |
Get-Command -CommandType cmdlet |
Если Вы, выполнив вышеуказанную команду у себя на компьютере, не нашли командлет из представленного ниже списка (или тот который Вам нужен), то скорей всего у Вас не установлен необходимый модуль. Модули PowerShell для соответствующих ролей и компонентов сервера устанавливаются автоматически одновременно с ними. В случае если Вы хотите воспользоваться данными модулями на системе без установленных ролей и компонентов, то Вы всегда можете установить соответствующие «Средства удаленного администрирования сервера», которые добавляют не только оснастки управления, но и необходимые командлеты. Например, для того чтобы администрировать Active Directory с помощью Windows PowerShell на компьютере, который не является контроллером домена, необходимо установить модуль Active Directory для Windows PowerShell (RSAT-AD-PowerShell).
Примечание! Данный справочник составлен на основе командлетов версии PowerShell 5.0 в операционной системе Windows Server 2016.
Полезные командлеты Windows PowerShell
В данном разделе я перечислю командлеты PowerShell, которые Вы точно будете использовать.
Get-Help – показывает справку по командлету, функции и общую справку по Windows PowerShell. Справка бывает нескольких типов: краткая, детальная, полная и вывод только примеров;
Update-Help – загружает и устанавливает новые файлы справки, т.е. обновление справки;
Get-Command – командлет поиска нужной команды, можно искать как по глаголу, так и по существительному, также возможно использование маски, если Вы не знаете точное наименование глагола или существительного;
Get-Alias – показывает псевдонимы, все или конкретной команды;
Get-PSDrive – показывает подключенные диски;
Get-Member – выводит свойства и методы, которые есть у объекта;
Get-WindowsFeature – выводит сведения о доступных ролях и компонентах сервера;
Install-WindowsFeature (эквивалентен Add-WindowsFeature) – устанавливает роли или компоненты на указанный сервер;
Uninstall-WindowsFeature (эквивалентен Remove-WindowsFeature) – удаляет роли или компонента сервера;
Get-History – возвращает список команд, введенных в ходе текущей сессии.
Работа с переменными
В PowerShell для того чтобы создать переменную, задать ей значение или получить это значение обычно используют знак доллар $ (коротко и удобно), но для этих целей существуют специальные командлеты.
Get-Variable – выводит список переменных и их значения (или одну указанную переменную);
New-Variable – создает новую переменную;
Set-Variable – задает значение переменной. Если переменная с указанным именем не существует, то она будет создана;
Clear-Variable – удаляет значение переменной;
Remove-Variable – удаляет переменную и ее значение.
Форматирование в Windows PowerShell
В Windows PowerShell существует набор командлетов, которые предназначены для форматирования вывода результата работы командлета. Они позволяют пользователю отобразить результат в том виде, в котором ему удобно просматривать данный результат.
Format-List – вывод результата команды в формате списка свойств, где на каждой новой строке отдельное свойство;
Format-Table – вывод результата команды в виде таблицы;
Format-Wide – вывод результата команды в виде широкой таблицы, в которой отображается только одно свойство каждого объекта;
Format-Custom – в данном случае форматирование вывода происходит с использованием пользовательского представления.
Импорт и экспорт
PowerShell позволяет импортировать и экспортировать данные в разных распространенных форматах, например, CSV или XML, а также перенаправлять вывод результата работы команды во внешний файл или на принтер.
Export-Csv – экспорт данных в формат CSV;
Import-Csv – импортирует данные из CSV файла;
Export-Clixml – экспорт данных в формат XML;
Import-Clixml – импортирует файл CLIXML и создает соответствующие объекты в оболочке Windows PowerShell;
Out-File – посылает вывод результата работы командлета во внешний файл (например, в TXT);
Out-Printer – вывод результата работы команды на принтер;
Import-Module – добавляет модули в текущей сессии.
Работа с сетью в Windows PowerShell
Для администрирования сети в Windows PowerShell существуют такие командлеты как:
Disable-NetAdapter – командлет отключает сетевой адаптер;
Enable-NetAdapter – данный командлет включает сетевой адаптер;
Rename-NetAdapter – переименовывает сетевой адаптер;
Restart-NetAdapter – перезапускает сетевой адаптер;
Get-NetIPAddress – выводит информацию о конфигурации IP-адреса;
Set-NetIPAddress – изменяет конфигурацию IP-адреса;
New-NetIPAddress – создает и настраивает IP-адрес;
Remove-NetIPAddress – удаляет IP-адрес и его конфигурацию;
Get-NetRoute – выводит таблицу маршрутизации IP;
Set-NetRoute – изменяет таблицу маршрутизации IP;
New-NetRoute – создает запись в таблице маршрутизации IP;
Remove-NetRoute – удаляет одну или несколько записей (IP маршрутов) из таблицы маршрутизации IP;
Get-NetIPv4Protocol – выводит информацию о конфигурации протокола IPv4;
Get-NetIPv6Protocol – выводит информацию о конфигурации протокола IPv6;
Get-NetIPInterface – выводит информацию о свойствах интерфейса IP;
Get-NetTCPSetting – показывает информацию о настройках и конфигурации TCP;
Test-Connection – командлет посылает ICMP пакеты к одному или нескольким компьютерам, т.е. «пингует» компьютеры.
Работа с элементами
В Windows PowerShell есть командлеты, которые умеют работать с элементами, под элементами здесь можно понимать: файлы, папки, ключи реестра и так далее.
Clear-Item – очищает содержимое элемента, но не удаляет сам элемент;
Copy-Item – копирует элемент;
Get-Item – получает элемент в указанном месте;
Invoke-Item – выполняет действие по умолчанию над указанным элементом;
Move-Item – перемещает элемент;
New-Item – создает новый элемент;
Remove-Item – удаляет указанные элементы;
Rename-Item – переименовывает элемент в пространстве имен поставщика Windows PowerShell;
Set-Item – изменяет элемент;
Get-ChildItem – возвращает элементы и дочерние элементы в одном или нескольких определенных местах;
Get-Location – выводит информацию о текущем местонахождении.
Командлеты для работы с Active Directory (AD)
Windows PowerShell, конечно же, позволяет работать со службой каталогов Active Directory. Для этих целей существует немало командлетов, вот некоторые из них:
New-ADUser – создание нового пользователя в Active Directory;
Get-ADUser – выводит информацию о пользователях Active Directory;
Set-ADUser – изменяет пользователя Active Directory;
Remove-ADUser – удаляет пользователя Active Directory;
New-ADGroup – командлет создает группу в Active Directory;
Get-ADGroup – выводит информацию о группе или выполняет поиск, чтобы получить несколько групп из Active Directory;
Set-ADGroup – командлет изменяет группу в Active Directory;
Remove-ADGroup – удаление группы в Active Directory;
Add-ADGroupMember – командлет добавляет учетные записи пользователей, компьютеров или групп в качестве новых членов группы Active Directory;
Get-ADGroupMember – выводит информацию о членах группы Active Directory;
Remove-ADGroupMember – удаление элементов из группы Active Directory;
Set-ADAccountPassword – сброс пароля учетной записи Active Directory;
Disable-ADAccount – отключает учетную запись Active Directory.
Enable-ADAccount – включает учетную запись Active Directory;
Unlock-ADAccoun – разблокирует учетную запись Active Directory;
New-ADComputer – создание новой учетной записи компьютера в Active Directory;
Get-ADComputer – выводит информацию об одном или нескольких компьютерах в Active Directory;
Set-ADComputer – изменение учетной записи компьютера в Active Directory;
Remove-ADComputer – удаление компьютера из Active Directory.
Работа с Hyper-V
Для работы с Hyper-V в Windows PowerShell существует много командлетов, вот небольшой перечень:
New-VM – создание новой виртуальной машины;
Set-VM – настройка виртуальной машины;
Start-VM – запуск виртуальной машины;
Stop-VM – закрытие, выключение или сохранение виртуальной машины;
Import-VM – импорт виртуальной машины из файла;
Move-VM – перемещение виртуальной машины на новый Hyper-V хост;
Remove-VM – удаление виртуальной машины;
Rename-VM – переименование виртуальной машины;
New-VHD – создание одного или нескольких новых виртуальных жестких дисков;
Set-VHD – настройка виртуального жесткого диска;
Test-VHD – тестирование виртуального жесткого диска на предмет обнаружения проблем, которые сделали бы его непригодным для использования;
Add-VMDvdDrive – добавляет DVD диск к виртуальной машине;
Remove-VMDvdDrive – удаляет DVD-диск из виртуальной машины;
Add-VMHardDiskDrive – добавляет жесткий диск к виртуальной машине;
Remove-VMHardDiskDrive – удаляет один или несколько виртуальных жестких дисков (VHD) из виртуальной машины;
Add-VMNetworkAdapter – добавляет виртуальный сетевой адаптер на виртуальной машине;
Remove-VMNetworkAdapter – удаляет один или несколько виртуальных сетевых адаптеров из виртуальной машины;
Copy-VMFile – копирование файлов на виртуальную машину;
Get-VMVideo – выводит информацию о настройках видео для виртуальных машин;
Move-VMStorage – перемещение хранилища виртуальной машины.
Работа с фоновыми заданиями
В Windows PowerShell есть возможность запускать задачи в фоновом режиме, для того чтобы, не дожидаясь окончания работы команды (для случаев, когда задача выполняется долго), продолжать работать в текущей сессии. Для работы с фоновыми заданиями в PowerShell есть следующие командлеты:
Start-Job – запустить фоновую задачу;
Stop-Job – остановить фоновую задачу
Get-Job – посмотреть список фоновых задач;
Receive-Job – посмотреть результат выполнения фоновой задачи;
Remove-Job – удалить фоновую задачу;
Wait-Job – перевести фоновую задачу на передний план, для того чтобы дожидаться ее окончания.
Работа с объектами
Так как PowerShell работает с объектами, он позволяет выполнять некие действия над этими объектами, например:
Measure-Object – командлет позволяет рассчитывать на основе свойств объектов такие числовые агрегирующие параметры как: минимальное, максимальное, среднее значение, сумму и количество. Например, Вы хотите узнать максимальный или средний размер файла в определенном каталоге, или просто узнать количество файлов (запущенных процессов, служб и так далее);
Select-Object – с помощью данного командлета можно выбрать определенные объекты или свойства этих объектов, например Вы хотите выводить только название файла и его размер;
Sort-Object – сортирует объекты по значениям свойств;
Where-Object – командлет для того чтобы ставить условие для выборки объектов на основе значений их свойств;
Group-Object – группирует объекты, которые содержат одинаковое значение для заданных свойств;
ForEach-Object – перебор объектов с целью выполнения определенной операции над каждым из этих объектов.
Командлеты PowerShell для удаленного управления
С помощью Windows PowerShell можно выполнять команды не только на локальном компьютере, но и на одном или даже на нескольких удаленных компьютерах.
Enter-PSSession – запускает интерактивный сеанс с удаленным компьютером;
Exit-PSSession – завершает интерактивный сеанс с удаленным компьютером;
New-PSSession – создает постоянное подключение к локальному или удаленному компьютеру;
Remove-PSSession – закрывает один или несколько сеансов Windows PowerShell;
Disconnect-PSSession – отсоединяется от сеанса;
Connect-PSSession – подключается к отключенным сеансам;
Get-PSSession – получает сеансы Windows PowerShell на локальных и удаленных компьютерах;
Invoke-Command – выполняет команды на локальном и удаленных компьютерах.
Работа со службами и процессами
PowerShell, конечно же, умеет управлять службами и процессами в Windows, для этого существуют такие командлеты как:
Get-Process – выводит информацию о запущенных процессах на компьютере;
Start-Process – запускает один или несколько процессов на компьютере;
Stop-Process – останавливает один или несколько запущенных процессов;
Get-Service – выводит информацию о службах;
Restart-Service – перезапускает службу;
Start-Service – запускает службу;
Stop-Service – останавливает службу;
Suspend-Service – приостанавливает работу службы;
Set-Service – с помощью данного командлета можно изменить свойства службы, например, описание, отображаемое имя и режим запуска. Также его можно использовать для запуска, остановки или приостановки службы.
Работа с компьютером
Windows PowerShell позволяет выполнять административные задачи для операционной системы и компьютера в целом, например, перезапустить операционную систему или переименовать компьютер.
Restart-Computer – командлет перезапускает операционную систему (перезагружает компьютер);
Stop-Computer – выключает компьютер;
Rename-Computer – переименовывает компьютер;
Checkpoint-Computer – создает точку восстановления системы на локальном компьютере;
Restore-Computer – запускает восстановление системы на локальном компьютере;
Disable-ComputerRestore – отключает функцию восстановления системы на указанном диске файловой системы;
Enable-ComputerRestore – включает функцию восстановления системы на указанном диске файловой системы;
Remove-Computer – удаляет локальный компьютер из домена;
Get-EventLog – выводит информацию о событиях в журнале событий, или список журналов событий на локальном или удаленном компьютере;
Clear-EventLog – удаляет записи из указанных журналов событий.
Работа с контентом
Для управления контентом, например, текстом в файле в Windows PowerShell существуют специальные командлеты, такие как:
Get-Content – получает содержимое элемента (например, считывает файл);
Add-Content – добавляет содержимое в заданные элементы, например, текст в файл;
Clear-Content – удаляет содержимое элемента, но не удаляет сам элемент;
Set-Content – записывает или заменяет содержимое в элемент с новым содержанием.
Другие командлеты Windows PowerShell
Также хотелось бы выделить следующие командлеты Windows PowerShell, которые наверняка Вам понадобятся и будут полезны.
Get-ExecutionPolicy – с помощью данного командлета можно узнать действующую политику выполнения Windows PowerShell для текущего сеанса;
Set-ExecutionPolicy – командлет изменяет политику выполнения Windows PowerShell;
Write-Host – выводит информацию на экран (пишет текст);
Read-Host – считывает строку ввода из консоли;
Write-Warning – выводит предупреждающее сообщение;
Write-Error – командлет объявляет ошибку и выводит ее в поток ошибок;
Get-Date – возвращает текущую дату и время;
Set-Date – командлет изменяет системную дату и время на компьютере.
Вот мы с Вами и рассмотрели полезные и часто используемые командлеты Windows PowerShell, надеюсь, этот справочник будет Вам полезен, удачи!