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

Тема в разделе "Программное обеспечение", создана пользователем Саныч, 30 мар 2011.

  1. Саныч
    Оффлайн

    Саныч Активный пользователь

    Сообщения:
    869
    Симпатии:
    1.697
    В последние годы 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



    источник
     
    5 пользователям это понравилось.
  2. Rashevskiy
    Оффлайн

    Rashevskiy Активный пользователь

    Сообщения:
    142
    Симпатии:
    381
    А как же Net Stop?
     
  3. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.208
    Симпатии:
    4.977
    надо бы cmd и PowerShell к жизни привести...
     
    Phoenix нравится это.

Поделиться этой страницей