Обзор Десять команд PowerShell, которые должен знать каждый администратор Windows

Саныч

Опытный участник
Сообщения
734
Реакции
741
В последние годы Microsoft активно старается сделать PowerShell Windows 7 ключевым административным инструментом. Практически все новые серверные продукты Microsoft требуют использования команд PowerShell, а целый ряд задач по обслуживанию системы невозможно выполнить без командной строки, поэтому каждый администратор Windows обязан знать основы PowerShell. Вот десять наиболее полезных команд.

1. Get-Help

Первый командлет, который должен знать каждый администратор, — это Get-Help. С его помощью можно получить справочную информацию по любой другой команде. Например, чтобы узнать полный синтаксис для команды Get-Process, можно воспользоваться следующей командой:

Get-Help -Name Get-Process


Get-Help также можно использовать с отдельными существительными и глаголами. Например, чтобы получить список команд с глаголом Get, можно воспользоваться следующей командой:

Get-Help -Name Get-*


2. Set-ExecutionPolicy

Хотя PowerShell предусматривает возможность создавать и выполнять сценарии, по умолчанию эта опция отключена, чтобы предотвратить исполнение вредоносного программного кода. Управлять разрешениями на выполнение сценариев можно с помощью команды Set-ExecutionPolicy. Доступны четыре уровня безопасности:

Restricted — выполнение сценариев запрещено. Эта опция установлена по умолчанию. Команды в таком случае можно выполнять только в интерактивном режиме.

All Signed — разрешено выполнение только сценариев, подписанных доверенным издателем.

Remote Signed — разрешено выполнение любых сценариев, созданных локально, а сценарии, созданные на удаленных системах, выполняются только в том случае, если подписаны доверенным издателем.

Unrestricted — разрешено выполнение абсолютно любых сценариев.

Чтобы применить определенную политику выполнения сценариев, можно воспользоваться командой Set-ExecutionPolicy с указанием имени политики. Например, разрешить неограниченное выполнение сценариев можно следующей командой:

Set-ExecutionPolicy Unrestricted


3. Get-ExecutionPolicy

Приступая к работе на незнакомом сервере, стоит для начала выяснить, какая на нем действует политика выполнения сценариев. Узнать это можно с помощью команды Get-ExecutionPolicy.

4. Get-Service

С помощью команды Get-Service можно получить список всех установленных в системе служб. Чтобы проверить состояние определенной службы, можно дополнить команду переключателем -Name с именем службы (допустимо использование групповых символов).

5. ConvertTo-HTML

PowerShell позволяет получить массу полезных сведений о системе, но иногда бывает недостаточно просто просмотреть эту информацию в окне командной строки. Порой возникает необходимость составить отчет для отправки другому администратору. В таком случае можно воспользоваться командой ConvertTo-HTML, перенаправив на нее вывод любой другой команды. При этом необходимо использовать переключатель -Property для перечисления свойств, которые требуется включить в HTML-отчет, и указать имя файла.

Возьмем для примера команду Get-Service, позволяющую получить список служб, и создадим на ее основе HTML-отчет с указанием имени и состояния каждой установленной в системе службы. Для этого можно воспользоваться следующей командой:

Get-Service | ConvertTo-HTML -Property Name, Status > C:\services.htm


6. Export-CSV

Отчеты можно сохранять не только в HTML, но и экспортировать в формат CSV для просмотра в Microsoft Excel. Синтаксис команды, которая применяется для этой цели, аналогичен ConvertTo-HTML. Обязательно следует указать имя файла для сохранения отчета. Например, экспортировать список служб в CSV-файл можно следующей командой:

Get-Service | Export-CSV c:\service.csv


7. Select-Object

При выполнении описанной выше команды CSV-отчет будет включать огромную массу информации, но иногда бывает полезно ограничить набор сведений. Сделать это можно с помощью команды Select-Object, которая позволяет указать, какие свойства должны быть включены в отчет. Например, чтобы создать CSV-отчет с перечислением имен и состояний всех системных служб, можно воспользоваться следующей командой:

Get-Service | Select-Object Name, Status | Export-CSV c:\service.csv


8. Get-EventLog

Команду Get-EventLog можно использовать для синтаксического анализа журналов событий. К ней предлагается целый ряд дополнительных параметров, но чтобы получить представление о том, как она работает, достаточно указать переключатель -Log и имя файла журнала. Например, посмотреть журнал какого-нибудь приложения, можно воспользоваться следующей командой:

Get-EventLog -Log "Имя приложения"


На практике эта команда применяется довольно редко. Чаще всего вместо нее используются другие команды, позволяющие отфильтровать данные и сохранить их в формате CSV или HTML.

9. Get-Process

Если команда Get-Service выводит список всех системных служб, то команда Get-Process позволяет получить список всех запущенных в данный момент процессов.

10. Stop-Process

Когда тот или иной процесс зависает, можно выяснить его имя или идентификатор с помощью команды Get-Process, а затем завершить процесс командой Stop-Process с указанием его имени или идентификатора. Например, процесс «Notepad.exe» для Блокнота можно завершить одной из следующих команд:

Stop-Process -Name notepad
Stop-Process -ID 2668



Только не стоит забывать, что идентификатор процесса меняется от сеанса к сеансу.


Автор: Brien Posey



источник
 
Назад
Сверху Снизу