Windows PowerShell — это оболочка командной строки Windows, специально разработанная для системных администраторов. Она включает в себя интерактивное окно командной строки в стиле DOS и среду сценариев и может использоваться независимо или совместно. В отличие от большинства оболочек, которые получают и отправляют текстовые сообщения, Windows PowerShell построена на общеязыковой среде выполнения .NET и .NET Framework для получения и ответа на объекты .NET. Такие функции предоставляют новые инструменты и методы управления и настройки Windows.
PowerShell
Важным понятием в Windows PowerShell является «командлет», простой инструмент командной строки с одной функцией, встроенный в командную консоль. Пользователи могут использовать команды независимо, но их эффект зависит от задач приложения и среды. Windows PowerShell содержит более 100 основных командных строк, и пользователи могут писать свои собственные командные строки и делиться ими с другими пользователями.
Как и большинство оболочек, Windows PowerShell предоставляет вам доступ к файловой системе вашего компьютера. Кроме того, Windows PowerShell позволяет вам получать доступ к другим хранимым данным, таким как реестр и сертификаты цифровых подписей, так же легко, как и к файловой системе.
PowerShell в Windows Server 2008 R2 был обновлен до версии 2.0, в которой появилось множество новых функций, таких как удаленное управление, полная среда сценариев, инструменты отладки и т. д. Давайте подробнее рассмотрим новые функции ISE и улучшенные удаленные функции в PowerShell V2. .
1. Интегрированная среда сценариев ISE (Интегрированная среда сценариев)
Основное требование к PowerShell — возможность легко писать и отлаживать сценарии PowerShell. PowerShell v2 поставляется с интегрированной средой сценариев ISE (Integrated Script Environment), которая упрощает написание сценариев PowerShell, включая панель сценариев, панель вывода и. Панель командной строки.
панель ИСЭ
Панель командной строки ISE очень похожа на панель командной строки PowerShell. Пользователи могут вводить в нее команды и нажимать Enter для их выполнения. Результаты выполнения команды будут отображаться на панели вывода, и результаты всех предыдущих выполнений команд можно будет четко отслеживать. Панель сценариев вверху можно использовать для написания и отладки сценариев. Панель сценариев поддерживает совместную работу нескольких сценариев, что упрощает работу.
Чтобы помочь пользователям отлаживать сценарии, ISE позволяет пользователям устанавливать точки останова отладки различными способами. Их можно устанавливать вручную или автоматически при определенных особых условиях. Последнее обеспечивает лучший опыт работы. В команде установки точки останова пользователю необходимо указать имя и координаты отладочного скрипта.
Set-PSBreakpoint .[имя-файла-скрипта].ps1 -line X
Если вы хотите установить несколько точек останова, вам необходимо разделить их запятыми при указании координат, например:
Set-PSBreakpoint .[имя-файла-скрипта].ps1 -line X,Y,Z
Если вы хотите установить точку останова при вызове определенной функции, вам нужно использовать команду Set-PSBreakpoint, параметр -Command и имя функции:
Set-PSBreakPoint -Command [имя-функции]
Отладчик ISE также может устанавливать точку останова при чтении или записи определенной переменной. Ниже приведена команда для установки точки останова при чтении или записи переменной:
Set-PSBreakpoint -Variable [имя-переменной] -режим чтения
Set-PSBreakpoint -Variable [имя-переменной] -режим записи
После установки точки останова она имеет уникальный идентификатор. Вы можете удалить точку останова, удалив идентификатор с помощью команды Disable-PSBreakpoint:
Отключить-PSBreakpointX
2. Удаленное улучшение функций PowerShell v2.
Еще одной важной особенностью PowerShell v2 является расширение возможностей удаленной работы (удаленное взаимодействие PowerSell) за счет добавления новой командной строки Invoke-Command. Следует отметить, что удаленное взаимодействие PowerSell в настоящее время поддерживает только компьютеры под управлением Vista SP1, Windows Server 2008 и Windows 7, поэтому необходимо установить соответствующую версию инструмента удаленного управления WinRM. Это означает, что пользователи могут подключать только компьютеры Vista SP1/Win 2008 с PowerShell v2 и WinRM, установленными посредством удаленного взаимодействия PowerShell. Компьютеры с Vista (можно установить только PowerShell) и системы WinXP не поддерживаются.
Системные требования и улучшения PowerShell v2
В предварительной версии CTP PowerShell 2.0 команда Invoke-Expression используется для подключения к удаленному компьютеру:
Invoke-Expression –computerName atl-fs-001 –command Get-Process
Если пользователь хочет запустить команду Get-Process на удаленном компьютере atl-fs-001, можно использовать новую команду Invoke-Command:
Invoke-Command –имякомпьютера atl-fs-001 –scriptblock
Видно, что основные параметры в обеих командах одинаковы. Команда PowerShell заменила команду Invoke-Expression на Invoke-Command, а параметр –command – на параметр –scriptblock. Хотя изменений в команде не так много. , он имеет улучшенное дистанционное управление, стабильность работы, безопасность и производительность.
Конечно, эта команда также может поддерживать несколько удаленных компьютеров. Если вам нужно получить информацию о процессе с удаленных компьютеров atl-fs-001, atl-fs-002 и atl-fs-003, вы можете использовать команду:
Invoke-Command –имякомпьютера atl-fs-001, atl-fs-002, atl-fs-003 –scriptblock
Поддерживает несколько удаленных компьютеров
Как и команда Invoke-Expression, Invoke-Command может подключиться к удаленному компьютеру и выполнить команду, но соединение будет немедленно потеряно. Если вам нужно постоянное соединение с удаленным компьютером, вы можете создать сеанс PowerShell с помощью команды:
$objRunspace = New-Runspace atl-fs-001, atl-fs-002, atl-fs-003
Если вам нужна дополнительная информация о команде Invoke-Command, вы можете получить инструкции и примеры с помощью следующей команды:
Get-Help Invoke-Command –полный подробнее |