Использование Windows PowerShell
Хотя средства управления с универсальным графическим интерфейсом часто проще использовать, чем средства командной строки, менеджер по ИТ-отделам компании Contoso считает, что вы можете быстрее добиться многих административных задач, используя простой сценарий или отдельную команду. Например, процесс обновления одной и той же информации для нескольких учетных записей пользователей с помощью пользователей и компьютеров Active Directory может занять много времени. Однако использование модуля Active Directory в Windows PowerShell позволяет администратору быстро выполнять эту задачу. Вы решили изучить возможности использования Windows PowerShell для администрирования серверной инфраструктуры в компании Contoso.
Обзор
Windows PowerShell — это среда командной строки и сценарий, которые можно использовать для управления всеми аспектами операционной системы Windows. Windows PowerShell использует специальные команды, называемые командлетами, состоящие из пар глаголов и существительных, таких как Restart-Computer
.
Можно также использовать Windows PowerShell для удаленного подключения к другим компьютерам и даже запускать командлеты Windows PowerShell для списка компьютеров, что позволяет выполнять действия с несколькими компьютерами с помощью одной инструкции командной строки.
Команды и командлеты Windows PowerShell
Команды — это стандартные блоки, которые можно объединить с помощью языка сценариев Windows PowerShell. Они предоставляют основные функциональные возможности Windows PowerShell. С помощью команд можно создавать пользовательские решения для сложных административных задач.
Командлеты — это базовые компоненты команд. В операционных системах Windows и других программах Майкрософт доступны тысячи командлетов Windows PowerShell. Как упоминалось ранее, командлеты состоят из пары «глагол — существительное».
Глаголы командлетов
Глагольная часть имени командлета указывает, что делает командлет. Создатели командлетов используют набор утвержденных глаголов, что обеспечивает единообразие имен командлетов. Часто применяемые глаголы описаны в следующей таблице.
Команда | Описание |
---|---|
Получить | Извлекает ресурс, например файл или пользователя. |
Set | Изменяет данные, связанные с ресурсом, например файл или свойство пользователя. |
Новый | Создает ресурс, например файл или пользователя. |
Добавить | Добавляет ресурс в контейнер с несколькими ресурсами. |
Удалить | Удаляет ресурс из контейнера с несколькими ресурсами. |
Существительные командлетов
Существительная часть имени командлета указывает, на какие типы ресурсов или объектов влияет командлет. Все командлеты, которые работают с одним и тем же ресурсом, должны использовать одно и то же существительное. Например, существительное Service используется для командлетов, которые работают со службами Windows, а существительное Process используется для управления процессами на компьютере.
Формат параметров
Параметры изменяют действия, выполняемые командлетом. Каждый командлет может не иметь параметров, иметь один параметр или несколько параметров. Имена параметров начинаются с тире (-). Пробел отделяет из имени параметра значение, которое требуется передать. Если передаваемое значение содержит пробелы, необходимо заключить текст в кавычки. Некоторые параметры имеют несколько значений, разделенных запятыми без пробелов.
Примеры
Можно изучить следующие примеры, чтобы определить, как можно использовать Windows PowerShell для выполнения общих административных задач. Следующая команда отображает список выполняющихся служб.
Get-Service | Where-Object {$_.Status -eq "Running"}
Следующая команда отображает список служб, имя которых начинается с Win и не включает службу WinRM.
Get-Service -Name "win*" -Exclude "WinRM"
Следующая команда выводит список всех служб в текстовом файле, отформатированном для вывода в формате HTML.
Get-Service | ConvertTo-Html > File.html
Вариант предыдущей команды выводит только выбранные данные о службах, а затем экспортирует выходные данные в CSV-файл.
Get-Service | Select-Object Name, Status | Export-CSV c:\service.csv
Следующая команда извлекает указанную информацию (номер рабочего телефона и основное имя пользователя) о пользователях Active Directory.
Get-ADUser -Filter * -Properties OfficePhone | FT OfficePhone,UserPrincipalName
В последнем примере извлекается подмножество пользователей AD DS (в подразделении Marketing OU) и изменяются их свойства, путем добавления описания каждой учетной записи.
Get-ADUser -Filter 'Name -like "*"' -SearchBase "OU=Marketing,DC=Contoso,DC=Com" | Set-ADUser -Description "Member of the Marketing Department"
Windows PowerShell ISE
ISE (Интегрированная среда сценариев) представляет собой полностью графическую среду, которая предоставляет редактор скриптов, возможности отладки, интерактивную консоль и несколько средств, которые помогают обнаруживать и изучать новые команды Windows PowerShell. Этот модуль предоставляет базовые знания о принципах работы интегрированной среды сценариев.
Области
Интегрированная среда сценариев содержит две основные области: область Скрипта (редактор скриптов) и область Консоли. Можно разместить их друг над другом или параллельно в макете с двумя панелями. Можно также развернуть одну панель и переключаться между панелями. По умолчанию также отображается панель надстройки команд, которая позволяет искать или просматривать доступные команды, а также просматривать и вводить параметры для выбранной команды. Доступно также плавающие окно Команды с теми же функциями.
Настройка вида
Интегрированная среда сценариев предоставляет несколько способов настройки вида. Ползунок в правой нижней области окна изменяет размер активного шрифта. Диалоговое окно Параметры позволяет настроить выбор шрифта и цвета для множества различных текстовых элементов Windows PowerShell, таких как ключевые слова и строковые значения. Интегрированная среда сценариев поддерживает создание визуальных тем. Тема — это набор параметров шрифта и цвета, которые можно применить в качестве группы для настройки внешнего вида интегрированной среды сценариев. Существует несколько встроенных тем, которые могут быть настроены для таких целей, как представление презентаций. Интегрированная среда сценариев также дает возможность создавать пользовательские темы. Другие функции ISE включают:
- Встроенную расширяемую библиотеку фрагментов, которую можно использовать для хранения часто используемых команд.
- Возможность загружать надстройки, созданные корпорацией Майкрософт или сторонними производителями, которые предоставляют дополнительные функциональные возможности.
- Интеграцию с возможностями отладки Windows PowerShell.
Удаленное взаимодействие Windows PowerShell
Удаленное взаимодействие Windows PowerShell заключается в подключении к удаленным компьютерам, чтобы можно было выполнять на них команды, а затем перенаправлять результаты обратно на локальный компьютер. Это позволяет выполнять команды Windows PowerShell на нескольких компьютерах в сети с клиентского компьютера, а не создавать подключение к каждому компьютеру.
Ключевой целью удаленного взаимодействия Windows PowerShell является включение пакетного администрирования, которое позволяет выполнять команды на наборе удаленных компьютеров одновременно. Удаленное взаимодействие можно использовать одним из трех способов, описанных в следующей таблице.
Метод | Description |
---|---|
Удаленное взаимодействие «один к одному» | В сценарии удаленного взаимодействия «один к одному» (также известного как интерактивное удаленное взаимодействие) производится подключение к одному удаленному компьютеру и на нем запускаются команды Windows PowerShell точно так же, как если бы был произведен вход в систему и открыто окно Windows PowerShell. |
Удаленное взаимодействие «один ко многим» | В сценарии удаленного взаимодействия "один ко многим" (также известное как удаленное взаимодействие с вентилятором-), вы выдаете команду, которая выполняется на одном или нескольких удаленных компьютерах параллельно. Вы не работаете с каждым удаленным компьютером в интерактивном режиме. Вместо этого команды выдаются и выполняются в пакете, и результаты возвращаются на ваш компьютер для использования. |
Удаленное взаимодействие «многие к одному» | В сценарии удаленного взаимодействия «многие к одному» (называемом также объединенным удаленным взаимодействием) несколько администраторов устанавливают удаленные подключения к одному компьютеру. Как правило, эти администраторы имеют разные разрешения на одном удаленном компьютере и могут работать в ограниченном сеансе Windows PowerShell. |
Внимание
При выполнении команд на нескольких компьютерах следует учитывать различия между удаленными компьютерами, например различия операционных систем, структур файловой системы и системных реестров.
PowerShell Direct
Многие администраторы предпочитают запускать некоторые из своих серверов в виртуализированных средах. Чтобы упростить администрирование виртуальных машин Hyper-V под управлением Windows 10 или Windows Server, можно использовать функцию PowerShell Direct.
PowerShell Direct позволяет запускать командлет или сценарий Windows PowerShell внутри виртуальной машины из операционной системы хоста независимо от конфигурации сети, брандмауэра и удаленного управления.