About_remote_jobs

Через реестр

Модификация реестра на пользовательских машинах ― странный вариант, лишь на случай крайней необходимости. Можно использовать ветки Run или RunOnce. Подробнее о них ― в документации. Сама модификация реестра может проводиться через групповые политики или из командной строки ― например, такой командой:

В зависимости от ветки реестра, процесс будет выполняться или под пользователем, выполнившим вход в систему, или под аккаунтом SYSTEM.

Есть и другие способы, такие как правка ярлыков в папке «Автозагрузка» или добавление в ярлык к популярной программе && script.cmd, но эти методы уже из серии «можно, но не нужно».

Теперь перейдем к новым инструментам.

Способы новые или куда же без PowerShell

PowerShell, оправдывая свое название, может подключаться к удаленным компьютерам при помощи WMI, RPC и WS-Management (WSMan). Использование последнего метода требует предварительной настройки.

Командлеты, не требующие предварительной настройки, как правило, имеют параметр ComputerName, но не имеют параметра Session. Посмотреть список таких командлетов можно командой:

Для настройки WSMan в общем случае достаточно выполнить команду Enable-PSRemoting-Force. Она запустит службу удаленного управления WinRM и пропишет исключения в фаерволе ― в принципе, это можно сделать для всего домена при помощи групповых политик. Подробнее настройка описана в документации.

После того как все компьютеры будут готовы принимать запросы, мы сможем подключаться при помощи соответствующих командлетов PowerShell. Для проверки возможности подключения используется командлет Test-WSMan.

Проверка возможности подключения.

Для того чтобы выполнить определенную команду или скрипт, используется командлет Invoke-Command со следующим синтаксисом:

Где COMPUTER ― имя компьютера, COMMAND ―– имя команды, а USERNAME ― имя пользователя, если оно нужно.

Смотрим содержимое диска С удаленного компьютера.

Если же нам нужно получить полноценную консоль ― не автоматизации ради, а ради управления конкретным компьютером, ― то можно использовать командлет Enter-PSSession.

Работаем в консоли удаленного компьютера.

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

Конечно, кроме встроенных средств и небольших утилит, существует множество программ для управления структурой. Помимо взрослых решений, для управления конфигурациями вроде Chef, Ansible и MS SCCM можно использовать и средства мониторинга вроде Zabbix, и даже консоль управления антивирусом Касперского.

В период гетерогенных структур хорошо бы иметь возможность унифицированного управления Windows и Linux. Это можно сделать и с помощью PowerShell, что само по себе достойно отдельной статьи ― стоит такую сделать или уже лишнее?

Кстати, поделитесь вашими способами скрытого и не очень запуска программ на удаленных компьютерах. Ну, за исключением эксплойтов.

Notes

To connect to a remote computer, you must be a member of the Administrators group on the remote
computer. To start an interactive session on the local computer, you must start PowerShell with the
Run as administrator option.

When you use , your user profile on the remote computer is used for the interactive
session. The commands in the remote user profile, including commands to add PowerShell modules and
to change the command prompt, run before the remote prompt is displayed.

uses the UI culture setting on the local computer for the interactive session. To
find the local UI culture, use the automatic variable.

requires the , , and cmdlets. If these
cmdlets are not included in the session configuration on the remote computer, the
commands fails.

Unlike , which parses and interprets the commands before it sends them to the remote
computer, sends the commands directly to the remote computer without
interpretation.

If the session you want to enter is busy processing a command, there might be a delay before
PowerShell responds to the command. You are connected as soon as the session
is available. To cancel the command, press CTRL+C.

The HostName parameter set was included starting with PowerShell 6.0. It was added to provide
PowerShell remoting based on Secure Shell (SSH). Both SSH and PowerShell are supported on multiple
platforms (Windows, Linux, macOS) and PowerShell remoting will work over these platforms where
PowerShell and SSH are installed and configured. This is separate from the previous Windows only
remoting that is based on WinRM and much of the WinRM specific features and limitations do not
apply. For example, WinRM based quotas, session options, custom endpoint configuration, and
disconnect/reconnect features are currently not supported. For more information about how to set up
PowerShell SSH remoting, see
PowerShell Remoting Over SSH.

Prior to PowerShell 7.1, remoting over SSH did not support second-hop remote sessions. This
capability was limited to sessions using WinRM. PowerShell 7.1 allows and
to work from within any interactive remote session.

WMIC

Для управления системами Windows с помощью разных графических утилит часто используется WMI (Windows Management Instrumentation) ― реализация объектно-ориентированного стандарта управления WBEM. В качестве утилиты с графическим интерфейсом для работы с WMI можно использовать wbemtest.exe.

Для работы с WMI из консоли создана wmic.exe. Например, для проверки установленных обновлений вместо жутковатой конструкции из предыдущего примера можно использовать простую команду:

Использовать список компьютеров также можно командой /node:»@computers.txt».

Еще при помощи WMI можно запускать программы – синтаксис предельно прост:

К сожалению, в отличие от Psexec, получить вывод в консоли не получится ― придется выводить результаты команды в файл.

По умолчанию процесс на удаленной машине выполняется от имени пользователя, запустившего wmic. При необходимости логин и пароль можно задать явно.

Можно ли ограничить команды, которые пользователи могут запускать удаленно на моем компьютере?

Да. Каждый удаленный сеанс должен использовать одну из конфигураций сеанса на удаленном компьютере. Вы можете управлять конфигурациями сеансов на компьютере (и разрешениями для этих конфигураций сеанса), чтобы определить, кто может выполнять команды удаленно на компьютере и какие команды они могут выполняться.

Конфигурация сеанса настраивает среду для сеанса. Конфигурацию можно определить с помощью сборки, реализующей новый класс конфигурации, или с помощью скрипта, выполняемого в сеансе. Конфигурация может определять команды, доступные в сеансе. Кроме того, конфигурация может включать параметры, защищающие компьютер, такие как параметры, ограничивающие объем данных, которые сеанс может получить удаленно, в одном объекте или команде. Можно также указать дескриптор безопасности, который определяет разрешения, необходимые для использования конфигурации.

Командлет создает конфигурации сеансов по умолчанию на компьютере: Microsoft. PowerShell, Microsoft. PowerShell. Workflow и Microsoft. PowerShell32 (только 64-разрядные операционные системы). Задает дескриптор безопасности для конфигурации, чтобы разрешить использовать их только членам группы «Администраторы» на компьютере.

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

Начиная с Windows PowerShell 3,0, командлет позволяет создавать пользовательские конфигурации сеансов с помощью текстового файла. Файл содержит параметры для настройки языкового режима и для указания командлетов и модулей, доступных в сеансах, использующих конфигурацию сеанса.

Когда пользователи используют командлеты,, или , они могут использовать параметр configurationName для указания конфигурации сеанса, используемой для сеанса. Кроме того, они могут изменить конфигурацию по умолчанию, которую используют сеансы, изменив значение переменной предпочтений в сеансе.

Дополнительные сведения о конфигурациях сеансов см. в справке по командлетам конфигурации сеанса. Чтобы найти командлеты конфигурации сеанса, введите:

Переменные среды PowerShell

Функции PowerShell могут использовать переменные среды для хранения настроек пользователя.
Эти переменные работают подобно переменным предпочтений, но они наследуются дочерними сеансами сеансов, в которых они созданы. Дополнительные сведения о переменных предпочтений см. в разделе about_Preference_Variables.

Ниже перечислены переменные среды, в которых хранятся настройки.

  • PSExecutionPolicyPreference

    Хранит политику выполнения, заданную для текущего сеанса. Эта переменная среды существует только в том случае, если задана политика выполнения для одного сеанса.
    Это можно сделать двумя разными способами.

    • Запустите сеанс из командной строки с помощью параметра ExecutionPolicy , чтобы задать политику выполнения для сеанса.

    • Используйте командлет . Используйте параметр Scope со значением «Process».

      Подробнее см. в разделе about_Execution_Policies.

  • псмодулеаналисискачепас

    PowerShell обеспечивает контроль над файлом, используемым для кэширования данных о модулях и их командлетах. Кэш считывается при запуске во время поиска команды и записывается в фоновом потоке после импорта модуля.

    Расположение кэша по умолчанию:

    • Windows PowerShell 5.1: .
    • PowerShell 6,0 и более поздние версии:
    • значение по умолчанию не Windows:

    По умолчанию для кэша используется имя файла . Если установлено несколько экземпляров PowerShell, имя файла включает в себя шестнадцатеричный суффикс, чтобы для каждой установки существовало уникальное имя файла.

    Примечание

    Если обнаружение команд работает неправильно, например, в IntelliSense отображаются несуществующие команды, можно удалить файл кэша. Кэш создается повторно при следующем запуске PowerShell.

    Чтобы изменить расположение кэша по умолчанию, задайте переменную среды перед запуском PowerShell. Изменения этой переменной среды влияют только на дочерние процессы. Значение должно быть полным путем (включая имя файла), на создание и запись файлов по которому у среды PowerShell есть разрешение.

    Чтобы отключить файловый кэш, укажите в качестве этого значения недопустимое расположение, например:

    Это задает путь к устройству NUL . PowerShell не удается выполнить запись в путь, но ошибка не возвращается. Вы можете увидеть ошибки, о которых сообщили с помощью трассировки:

  • псдисаблемодулеаналисискачеклеануп

    При вызаписи кэша анализа модуля PowerShell проверяет наличие модулей, которые больше не существуют, чтобы избежать необязательного большого объема кэша. Иногда эти проверки нежелательны. в этом случае их можно отключить, задав для этого значения переменной среды значение .

    Установка этой переменной среды вступает в силу немедленно в текущем процессе.

  • PSModulePath

    Переменная среды содержит список расположений папок, в которых выполняется поиск модулей и ресурсов.

    По умолчанию действующие расположения, назначенные, являются:

    • Расположения на уровне системы. Эти папки содержат модули, поставляемые с PowerShell. Модули хранятся в расположении. кроме того, это расположение, в котором устанавливаются модули управления Windows.

    • Модули, установленные пользователем: это модули, установленные пользователем.
      имеет параметр области , который позволяет указать, установлен ли модуль для текущего пользователя или для всех пользователей. Дополнительные сведения см. в разделе Install-Module.

      • в Windows расположением определяемой пользователем области CurrentUser является папка. Областью ALLUSERS является расположение .
      • в системах, отличных от Windows, расположением определенной пользователем области CurrentUser является папка. Областью ALLUSERS является расположение .

    Кроме того, программы установки, устанавливающие модули в других каталогах, например каталог Program Files, могут добавлять свои расположения к значению .

    Дополнительные сведения см. в разделе about_PSModulePath.

  • POWERSHELL_UPDATECHECK

    Настроить уведомления об обновлениях можно с помощью переменной среды . Поддерживаются следующие значения.

    • отключает функцию уведомления об обновлении
    • то же самое, что не определяет :
      • В общедоступных выпусках выводятся уведомления об обновлениях для общедоступных выпусков.
      • В предварительных выпусках и релизах-кандидатах выводятся уведомления об обновлениях для общедоступных и предварительных выпусков.
    • уведомления об обновлениях только для выпусков долгосрочного обслуживания (LTS)

    Дополнительные сведения см. в разделе about_Update_Notifications.

  • POWERSHELL_TELEMETRY_OPTOUT

    Чтобы отказаться от телеметрии, задайте для переменной среды значение , или .

    Дополнительные сведения см. в разделе about_Telemetry.

Устранение проблем политики и предпочтений

В этом разделе обсуждаются проблемы удаленного взаимодействия, связанные с политиками и предпочтениями, заданными на локальном и удаленном компьютерах.

Изменение политики выполнения для Import-PSSession и Import-Module

Командлеты и создают модули, которые содержат неподписанные файлы скриптов и файлы форматирования.

Чтобы импортировать модули, созданные этими командлетами, с помощью или , политика выполнения в текущем сеансе не может быть ограничена или AllSigned. Дополнительные сведения о политиках выполнения PowerShell см. в разделе about_Execution_Policies.

Чтобы импортировать модули без изменения политики выполнения для локального компьютера, установленного в реестре, используйте параметр Scope параметра, чтобы задать менее ограниченную политику выполнения для одного процесса.

Например, следующая команда запускает процесс с политикой выполнения. Изменение политики выполнения влияет только на текущий процесс и не изменяет параметр реестра PowerShell ExecutionPolicy .

Кроме того, с помощью параметра ExecutionPolicy можно запустить один сеанс с менее ограниченной политикой выполнения.

Дополнительные сведения о политиках выполнения см. в разделе about_Execution_Policies. Для получения дополнительных сведений введите .

Как задать и изменить квоты

Квоты можно использовать для защиты локального компьютера и удаленного компьютера от чрезмерного использования ресурсов, как случайных, так и вредоносных.

В базовой конфигурации доступны следующие квоты.

  • Поставщик WSMan (WSMan:) предоставляет несколько параметров квот, таких как параметры максенвелопесизекб и макспровидеррекуестс в узле, а также параметры максконкуррентоператионс, свойств maxconcurrentoperationsperuser и MaxConnections в узле.

  • Защитить локальный компьютер можно с помощью параметров максимумрецеиведдатасизеперкомманд и максимумрецеиведобжектсизе командлета и переменной предпочтений.

  • Защитить удаленный компьютер можно, добавив ограничения в конфигурации сеанса, например с помощью параметров максимумрецеиведдатасизеперкоммандмб и максимумрецеиведобжектсиземб командлета.

При конфликте квот с помощью команды PowerShell создает ошибку.

Чтобы устранить эту ошибку, измените удаленную команду так, чтобы она соответствовала квоте. Или определите источник квоты, а затем увеличьте квоту, чтобы завершить выполнение команды.

Например, следующая команда увеличивает квоту размера объекта в конфигурации сеанса Microsoft. PowerShell на удаленном компьютере с 10 МБ (значение по умолчанию) до 11 МБ.

Дополнительные сведения о командлете см. в разделе .

Дополнительные сведения о WS-Management квотах см. в разделе about_WSMan_Provider.

Устранение ошибок времени ожидания

Можно использовать время ожидания для защиты локального компьютера и удаленного компьютера от чрезмерного использования ресурсов, как случайных, так и вредоносных. Если время ожидания задано как на локальном, так и на удаленном компьютере, PowerShell использует самые короткие параметры времени ожидания.

В базовой конфигурации доступны следующие тайм-ауты.

  • Поставщик WSMan (WSMan:) предоставляет несколько параметров времени ожидания на стороне клиента и службы, например параметр макстимеаутмс в узле и параметры енумератионтимеаутмс и макспаккетретриевалтимесекондс в узле.

  • Защитить локальный компьютер можно с помощью параметров канцелтимеаут, IdleTimeout, OpenTimeout и OperationTimeout командлета и переменной предпочтений.

  • Кроме того, можно защитить удаленный компьютер, задавая значения времени ожидания программным способом в конфигурации сеанса для сеанса.

Если значение времени ожидания не позволяет завершить операцию, PowerShell завершает операцию и создает ошибку.

Чтобы устранить эту ошибку, измените команду для завершения в течение интервала времени ожидания или определите источник предельного времени ожидания и Увеличьте интервал времени ожидания, чтобы завершить выполнение команды.

Например, следующие команды используют командлет для создания объекта параметра сеанса со значением OperationTimeout , равным 4 минутам (в мс), а затем используйте объект параметра сеанса для создания удаленного сеанса.

Дополнительные сведения об истечении времени ожидания WS-Management см. в разделе справки по поставщику WSMan (тип ).

Дополнительные сведения о командлете см. в разделе New-PSSessionOption.

Свойства состояния и доступности

Свойства состояние и доступность отключенного сеанса PSSession сообщают о том, доступен ли сеанс для повторного подключения.

Когда сеанс PSSession подключен к текущему сеансу, его состояние открывается , а доступность становится доступной. При отключении от PSSession состояние PSSession отключается , а его доступность — нет.

Значение свойства State определяется текущим сеансом. Значение disconnected означает, что сеанс PSSession не подключен к текущему сеансу. Но это не значит, что сеанс PSSession отключен от всех сеансов. Он может быть подключен к другому сеансу.

Чтобы определить, можно ли подключиться к сеансу PSSession или повторно подключиться к нему, используйте свойство Availability . Значение None означает, что можно подключиться к сеансу. Значение занято указывает, что невозможно подключиться к сеансу PSSession, так как он подключен к другому сеансу.

Следующий пример выполняется в двух сеансах PowerShell на одном компьютере.
Обратите внимание на изменение значений свойств State и Availability в каждом сеансе, так как сеанс PSSession отключен и повторно подключен. Отключенные сеансы сохраняются на удаленном компьютере, пока вы не удалите их, например с помощью командлета, или истечет время ожидания

Свойство IdleTimeout параметра PSSession определяет время, в течение которого отключенный сеанс сохраняется до его удаления

Отключенные сеансы сохраняются на удаленном компьютере, пока вы не удалите их, например с помощью командлета, или истечет время ожидания. Свойство IdleTimeout параметра PSSession определяет время, в течение которого отключенный сеанс сохраняется до его удаления.

PSSession бездействует, когда поток пульса не получает ответа.
Отключение сеанса делает его неактивным и запускает часы IdleTimeout , даже если команды по-прежнему выполняются в отключенном сеансе. PowerShell считает, что отключенные сеансы активны, но в режиме простоя.

При создании и отключении сеансов убедитесь, что время ожидания простоя в PSSession достаточно велико для поддержания сеанса в соответствии с вашими потребностями, но не настолько долго, что он потребляет ненужные ресурсы на удаленном компьютере.

Свойство идлетимеаутмс конфигурации сеанса определяет время ожидания простоя по умолчанию для сеансов, использующих конфигурацию сеанса. Можно переопределить значение по умолчанию, но используемое значение не может превышать свойство максидлетимеаутмс конфигурации сеанса.

Чтобы найти значения идлетимеаутмс и максидлетимеаутмс для конфигурации сеанса, используйте следующий формат команды:

Можно переопределить значение по умолчанию в конфигурации сеанса и установить время ожидания сеанса PSSession в режиме простоя при создании сеанса PSSession и при отключении.

Если вы являетесь членом группы администраторов на удаленном компьютере, вы можете создавать и изменять свойства идлетимеаутмс и максидлетимеаутмс конфигураций сеансов.

О сеансах

технически, сеанс — это среда выполнения, в которой Windows PowerShell выполняется. каждый сеанс включает экземпляр модуля System. Management. Automation и ведущее приложение, в котором Windows PowerShell выполняется. узел может быть знакомой Windows PowerShell консоли или другой программой, которая выполняет команды, такие как Cmd.exe, или программу, созданную для размещения Windows PowerShell, например Windows PowerShell интегрированную среду сценариев (ISE). с точки зрения Windows сеанс — это Windows процесс на целевом компьютере.

Каждый сеанс настраивается независимо друг от друга. Он включает собственные свойства, собственную политику выполнения и собственные профили. Среда, существующая при создании сеанса, сохраняется в течение времени существования даже при изменении среды на компьютере. Все сеансы создаются в глобальной области, даже в сеансах, создаваемых в скрипте.

Одновременно можно запустить только одну команду (или конвейер команд) в сеансе. Вторая команда выполняется синхронно (по одной за раз), когда первая команда завершается с задержкой до четырех минут. Вторая команда выполняется асинхронно (параллельно).

Другие командлеты 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, надеюсь, этот справочник будет Вам полезен, удачи!

Нравится26Не нравится3

Служба удаленного взаимодействия Windows PowerShell

Благодаря использованию протокола WS-Management служба удаленного взаимодействия Windows PowerShell позволяет запустить любую команду Windows PowerShell на одном или нескольких удаленных компьютерах. Вы можете устанавливать постоянные подключения, запускать интерактивные сеансы и выполнять скрипты на удаленных компьютерах.

Чтобы использовать службу удаленного взаимодействия Windows PowerShell, удаленный компьютер должен быть настроен для удаленного управления.
Дополнительные сведения, в том числе инструкции, см. в разделе about_Remote_Requirements.

После настройки службы удаленного взаимодействия Windows PowerShell вы получите доступ ко многим стратегиям удаленного взаимодействия.
В этой статье перечислены только некоторые из них. См. дополнительные сведения об удаленном взаимодействии.

Запуск интерактивного сеанса

Чтобы запустить интерактивный сеанс с одним удаленным компьютером, используйте командлет Enter-PSSession. Например, чтобы запустить интерактивный сеанс с удаленным компьютером Server01, введите:

В командной строке отобразится имя удаленного компьютера. Все команды, введенные в командной строке, запускаются на удаленном компьютере, а результаты отображаются на локальном компьютере.

Чтобы завершить интерактивный сеанс, введите:

См. дополнительные сведения о командлетах Enter-PSSession и Exit-PSSession:

  • Enter-PSSession
  • Exit-PSSession;

Выполнение удаленной команды

Чтобы выполнить команду на одном или нескольких компьютерах, используйте командлет Invoke-Command. Например, чтобы выполнить команду Get-UICulture на удаленных компьютерах Server01 и Server02, введите:

Выходные данные будут возвращены на ваш компьютер.

Запуск сценария

Чтобы запустить скрипт на одном или нескольких удаленных компьютерах, используйте параметр FilePath командлета . Сценарий должен быть включен или доступен для локального компьютера. Результаты будут возвращены на локальный компьютер.

Например, следующая команда выполняет скрипт DiskCollect.ps1 на удаленных компьютерах Server01 и Server02.

Установка постоянного подключения

Используйте командлет для создания постоянного сеанса на удаленном компьютере. В следующем примере создаются удаленные сеансы на удаленных компьютерах Server01 и Server02. Объекты сеанса хранятся в переменной .

После установки сеансов в них можно выполнить любую команду. Так как сеансы являются постоянными, вы можете собирать данные из одной команды и использовать их в другой.

Например, следующая команда выполняет команду Get-Hotfix в сеансах в переменной $s и сохраняет результаты в переменной $h. Переменная $h создается в каждом сеансе в переменной $s, но она не существует в локальном сеансе.

Теперь вы можете использовать данные в переменной с другими командами в том же сеансе. Результаты отобразятся на локальном компьютере. Пример:

Расширенная служба удаленного взаимодействия

Это и есть служба удаленного взаимодействия Windows PowerShell. Используя командлеты, установленные с Windows PowerShell, можно установить и настроить удаленные сеансы с локальных и удаленных компьютеров, создать настраиваемые и ограниченные сеансы, разрешить пользователям импортировать команды из удаленного сеанса, которые могут неявно выполняться в удаленном сеансе, настроить безопасность удаленного сеанса и многое другое.

Windows PowerShell включает поставщик WSMan. Поставщик создает диск , который позволяет перемещаться по иерархии параметров конфигурации на локальном и удаленном компьютерах.

См. дополнительные сведения о поставщике WSMan и командлетах WS-Management или введите команду в консоли Windows PowerShell.

Дополнительные сведения можно найти в разделе

  • Вопросы и ответы об удаленном взаимодействии PowerShell
  • Register-PSSessionConfiguration
  • Import-PSSession

Справку по ошибкам службы удаленного взаимодействия см. в разделе about_Remote_Troubleshooting.

Форматирование в Windows PowerShell

В Windows PowerShell существует набор командлетов, которые предназначены для форматирования вывода результата работы командлета. Они позволяют пользователю отобразить результат в том виде, в котором ему удобно просматривать данный результат.

  • Format-List – вывод результата команды в формате списка свойств, где на каждой новой строке отдельное свойство;
  • Format-Table — вывод результата команды в виде таблицы;
  • Format-Wide — вывод результата команды в виде широкой таблицы, в которой отображается только одно свойство каждого объекта;
  • Format-Custom – в данном случае форматирование вывода происходит с использованием пользовательского представления.

Работа с 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 — перемещение хранилища виртуальной машины.

Отличаются ли выходные данные удаленных команд от локального вывода?

При использовании PowerShell в локальной среде вы отправляете и получаете «динамические» платформа .NET Framework объекты; «динамические» объекты — это объекты, связанные с фактическими программами или системными компонентами.
При вызове методов или изменении свойств активных объектов изменения влияют на фактическую программу или компонент. А при изменении свойств программы или компонента свойства объекта, которые их представляют, также изменяются.

Однако поскольку большинство активных объектов не могут передаваться по сети, PowerShell «сериализует» большинство объектов, отправленных в удаленных командах, то есть преобразует каждый объект в ряд элементов данных XML (язык ограничений в XML ) для передачи.

Когда PowerShell получает сериализованный объект, он преобразует XML в тип десериализованного объекта. Десериализованный объект — это точная запись свойств программы или компонента в предыдущий раз, но она больше не является «динамической», то есть больше не связана напрямую с компонентом. Методы удаляются, так как они больше не действуют.

Как правило, десериализуемые объекты можно использовать так же, как и активные объекты, но следует иметь в виду их ограничения. Кроме того, объекты, возвращаемые командлетом, имеют дополнительные свойства, помогающие определить происхождение команды.

Некоторые типы объектов, например объекты DirectoryInfo и GUID, преобразуются обратно в динамические объекты при их получении. Для этих объектов не требуется специальная обработка или форматирование.

Дополнительные сведения об интерпретации и форматировании удаленных выходных данных см. в разделе about_Remote_Output.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: