Обновление справки из общей папки
Для поддержки компьютеров, не подключенных к Интернету, а также для управления или оптимизации обновления справки на предприятии используйте командлет. Командлет загружает файлы справки из Интернета и сохраняет их в указанном каталоге файловой системы.
Сравнивает файлы справки в указанном каталоге с последними файлами справки, доступными для каждого модуля. Если в каталоге нет файлов справки или более новых файлов справки для модуля, командлет загружает новые файлы из Интернета. Однако он не распаковывает и не устанавливает файлы справки.
Чтобы установить или обновить файлы справки на компьютере из файлов справки, сохраненных в каталоге файловой системы, используйте параметр SourcePath командлета. Командлет определяет самые новые файлы справки, распаковывает их и проверяет, а также устанавливает их в подкаталоги, зависящие от языка, в каталогах модулей.
Например, чтобы сохранить справку для всех установленных модулей в каталоге, введите:
Затем, чтобы обновить справку из каталога, введите:
В следующих примерах показано использование для сохранения справки по модулям, которые не установлены на локальном компьютере. В этом примере администратор выполняет команду, чтобы сохранить справку для модуля DhcpServer с клиентского компьютера, подключенного к Интернету, не устанавливая на локальном компьютере роль модуля DhcpServer или DHCP-сервера.
Вариант 1. выполните команду, чтобы получить объект PSModuleInfo для удаленного модуля, сохраните его в переменной, а затем выполните в объекте PSModuleInfo , указав переменную в качестве имени модуля.
Вариант 2. Откройте сеанс PSSession, предназначенный для компьютера, на котором выполняется модуль DHCP-сервера, чтобы получить объект PSModuleInfo для модуля, сохраните его в переменной , а затем выполните для объекта, сохраненного в переменной.
Вариант 3. Откройте сеанс CIM, предназначенный для компьютера, на котором работает модуль DHCP-сервера, чтобы получить объект PSModuleInfo для модуля, сохраните его в переменной , а затем выполните для объекта, сохраненного в переменной.
В следующем примере администратор устанавливает справку для модуля DHCP-сервера на компьютере, который не имеет доступа к сети.
Сначала выполните команду, чтобы экспортировать объект PSModuleInfo в общую папку или на съемный носитель.
Затем необходимо передать съемный носитель на компьютер с доступом к Интернету, а затем импортировать объект PSModuleInfo с помощью . Выполните команду , чтобы сохранить справку для импортированного объекта PSModuleInfo модуля DhcpServer.
Наконец, выполните транспортный носитель обратно на компьютер без доступа к сети, а затем установите справку, выполнив команду .
Без параметров загружает справку по всем модулям в сеансе и ко всем установленным модулям, поддерживающим обновляемую справку. Для включения необходимо установить модули в каталогах, указанных в значении переменной среды, на локальном компьютере или на удаленном компьютере, для которого требуется сохранить справку. Это также модули, возвращаемые при выполнении команды.
Командлеты
Командлеты выполняют действие и обычно возвращают объект Microsoft .NET в следующую команду в конвейере. Командлет — это одна команда, которая участвует в семантике конвейера PowerShell.
Сюда входят двоичные командлеты (C#), расширенные функции скриптов, CDXML и рабочие процессы.
В этой документации по пакету SDK описывается создание двоичных командлетов, написанных на языке C#. Дополнительные сведения о командлетах на основе сценариев см. в следующих статьях:
- about_Functions_Advanced
- about_Functions_CmdletBindingAttribute
- about_Functions_Advanced_Methods
Чтобы создать двоичный командлет, необходимо реализовать класс командлета, производный от одного из двух специализированных базовых классов командлетов. Производный класс должен:
- Объявите атрибут, который идентифицирует производный класс в качестве командлета.
- Определите открытые свойства, снабженные атрибутами, которые определяют открытые свойства в качестве параметров командлета.
- Переопределите один или несколько методов обработки ввода для обработки записей.
Сборку, содержащую класс, можно загрузить напрямую с помощью командлета Import-Module . также можно создать ведущее приложение, которое загружает сборку с помощью API System. Management. Automation. пространства выполнения. Initialsessionstate. Оба метода предоставляют программный и доступ командной строки к функциональности командлета.
Сохранение и отзыв последних расположений (Push-Location и Pop-Location)
При изменении расположения полезно отслеживать свое предыдущее расположение и иметь возможность вернуться к нему. Командлет в Windows PowerShell создает упорядоченный журнал («стек») путей к каталогам, которые вы открывали, чтобы можно было вернуться на шаг назад по журналу путей к каталогу, используя дополнительный командлет .
Например, Windows PowerShell обычно запускается в корневом каталоге пользователя.
Примечание
Слово стек имеет специальное значение во многих параметрах программирования, включая .NET Framework.
Например, в физическом стеке элементов последний элемент, помещенный в стек, является первым элементом, который можно извлечь из него. Добавление элемента в стек в разговорной речи называется «проталкиванием» элемента в стек. Извлечение элемента из стека в разговорной речи называется «выводом» элемента из стека.
Чтобы передать текущее расположение в стек, а затем переместить его в папку локальных параметров, введите:
После этого можно передать расположение локальных параметров в стек и переместить его в папку Temp, введя следующее:
Чтобы убедиться, что каталоги изменены, введите команду :
После этого можно перейти в последний открытый каталог, введя команду , и проверить изменение, введя команду :
Как и в случае с командлетом , вы можете включить параметр PassThru при вводе командлета , чтобы открыть указанный каталог:
Кроме того, можно использовать командлеты расположения с сетевыми путями. Если у вас есть сервер FS01 с общей папкой Public, можно изменить расположение, введя
или
Для изменения расположения на любой доступный диск можно использовать команды и . Например, если у вас есть локальный дисковод компакт-дисков с буквой диска D, содержащий компакт-диск с данными, вы можете изменить расположение на дисковод компакт-дисков, введя команду .
Если дисковод пуст, вы получите следующее сообщение об ошибке:
Требования к графическому пользовательскому интерфейсу
Windows PowerShell — это основанное на консоли приложение, для работы которого не требуется графический пользовательский интерфейс.
Оно хорошо подходит для компьютеров без экранов или мониторов либо пользовательского интерфейса, таких как Windows Server 2012 R2 или Windows Server 2012, с установкой основных серверных компонентов.
Для некоторых элементов необходим графический пользовательский интерфейс. Дополнительные сведения см. в разделе справки для каждого элемента.
- Интегрированная среда сценариев (ISE) Windows PowerShell. Дополнительные сведения см. в обзорной статье об интегрированной среде сценариев Windows PowerShell.
- Командлеты
- Out-GridView
- Show-Command
- Show-ControlPanelItem
- Show-EventLog
- Параметры
- Параметр ShowWindow командлета Get-Help.
- Параметр ShowSecurityDescriptorUI командлетов Register-PSSessionConfiguration и Set-PSSessionConfiguration.
Требования к операционной системе
Windows PowerShell 5.1
Windows PowerShell 5.1 выполняется в следующих версиях Windows: Для запуска Windows PowerShell 5.1 установите Windows Management Framework 5.1. Дополнительные сведения см. в статье Установка и настройка WMF 5.1.
Версия Windows | Требования к системе |
---|---|
Windows Server 2022 | Устанавливается по умолчанию |
Windows Server 2019 | Устанавливается по умолчанию |
Windows Server 2016 | Устанавливается по умолчанию |
Windows Server 2012 R2 | Установите Windows Management Framework 5.1 |
Windows Server 2012 | Установите Windows Management Framework 5.1 |
Windows Server 2008 R2 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 5.1 |
Windows 11 | Устанавливается по умолчанию |
Windows 10 версии 1607 и выше | Устанавливается по умолчанию |
Windows 10 версии 1507, 1511 | Установите Windows Management Framework 5.1 |
Windows 8.1 | Установите Windows Management Framework 5.1 |
Windows 7 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 5.1 |
Windows PowerShell 5.0
Windows PowerShell 5.0 работает в следующих версиях Windows. Для запуска Windows PowerShell 5.0 установите Windows Management Framework 5.1. Дополнительные сведения см. в статье Установка и настройка WMF 5.1. Windows Management Framework 5.1 заменяет Windows Management Framework 5.0.
Версия Windows | Требования к системе |
---|---|
Windows Server 2022 | Более поздняя версия устанавливается по умолчанию |
Windows Server 2019 | Более поздняя версия устанавливается по умолчанию |
Windows Server 2016 | Более поздняя версия устанавливается по умолчанию |
Windows Server 2012 R2 | Установите Windows Management Framework 5.1 |
Windows Server 2012 | Установите Windows Management Framework 5.1 |
Windows Server 2008 R2 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 5.1 |
Windows 11 | Более поздняя версия устанавливается по умолчанию |
Windows 10 версии 1607 и выше | Более поздняя версия устанавливается по умолчанию |
Windows 10 версии 1507, 1511 | Устанавливается по умолчанию |
Windows 8.1 | Установите Windows Management Framework 5.1 |
Windows 7 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 5.1 |
Windows PowerShell 4.0
Windows PowerShell 4.0 выполняется в следующих версиях Windows: Чтобы запустить Windows PowerShell 4.0, установите указанную версию Windows Management Framework для вашей операционной системы.
Версия Windows | Требования к системе |
---|---|
Windows 8.1 | Устанавливается по умолчанию |
Windows Server 2012 R2 | Устанавливается по умолчанию |
Windows 7 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 4.0 |
Windows Server 2008 R2 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 4.0 |
Windows PowerShell 3.0
Windows PowerShell 3.0 выполняется в следующих версиях Windows: Чтобы запустить Windows PowerShell 3.0, установите указанную версию Windows Management Framework для вашей операционной системы.
Версия Windows | Требования к системе |
---|---|
Windows 8 | Устанавливается по умолчанию |
Windows Server 2012 | Устанавливается по умолчанию |
Windows 7 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 3.0 |
Windows Server 2008 R2 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 3.0 |
Windows Server 2008 с пакетом обновления 2 (SP2) | Установите Windows Management Framework 3.0 |
Области PowerShell
PowerShell поддерживает следующие области:
-
Global — область, которая действует при запуске PowerShell или при создании нового сеанса или пространства выполнения. Переменные и функции, которые имеются при запуске PowerShell в глобальной области, такие как автоматические переменные и привилегированные переменные. Переменные, псевдонимы и функции в профилях PowerShell также создаются в глобальной области. Глобальная область — это корневая родительская область в сеансе.
-
Local: текущая область. Локальная область может быть глобальной или любой другой областью.
-
Скрипт: область, созданная во время выполнения файла скрипта. В области скрипта выполняются только команды в скрипте. Для команд в скрипте областью скрипта является локальная область.
Примечание
Частный не является областью. Это , который изменяет видимость элемента за пределами области, в которой определен элемент.
Изменения API
Удален класс
Класс был удален из для повышения производительности. Этот класс используется только командлетом и не должен влиять на пользователей.
Удален как поддерживаемый язык в Add-Type
Раньше для компиляции кода Visual Basic использовался командлет . Visual Basic редко использовался с . Мы удалили эту функцию, чтобы уменьшить размер PowerShell.
Удалена поддержка
Ранее при создании пространства выполнения PowerShell программными средствами с помощью API можно было использовать прежние версии или более новые версии классов .
Это изменение удалило поддержку , и теперь поддерживается только .
Удаление свойств и из
Свойство объекта не рекомендуется использовать с CoreCLR. Конечные пользователи не должны использовать это значение для определения совместимости.
Свойство было привязано к версии сборки Windows, однако эта функция недоступна на платформах, отличных от Windows. Используйте свойство , чтобы получить точную версию сборки PowerShell.
Реализован анализ escape-символов в Юникоде
или преобразуются в соответствующий символ Юникода. Для вывода литерала добавьте escape-символ в виде обратного апострофа: .
Проблема привязки параметра с в функциях PS
Отменено использование и
Очистка кода, связанного с использованием и в System. Management. Automation.
Эти незначительные критические изменения в основном влияют на код поставщика справки.
- Измените общедоступные конструкторы на внутренние конструкторы. Мы больше не поддерживаем рабочий процесс, поэтому имеет смысл запретить пользователям создавать экземпляры .
- Удалите тип System. Management. Automation.DebugSource, так как он используется только для отладки рабочего процесса.
- Удалите перегрузку из отладчика абстрактного класса, который используется только для отладки рабочего процесса.
- Удалите ту же перегрузку из производного класса RemotingJobDebugger.
Устранен перенос возвращаемого результата в при преобразовании в делегат
Когда преобразуется в тип делегата для использования в контексте C#, перенос результата в приводит к ненужным проблемам.
- Когда значение преобразуется в возвращаемый тип-делегат, по сути разворачивается. Поэтому не требуется.
- Если возвращаемый тип-делегат — , он переносится в , что затрудняет работу с ним в коде C#.
В результате этого изменения возвращается базовый объект.
2 ответа
Лучший ответ
Когда PowerShell интерпретирует выходные данные внешних программ (например, в вашем случае), предполагает, что на выходе используется кодировка символов, отраженная в ,
Примечание:
-
Интерпретация относится к случаям, когда PowerShell захватывает (например, ), реле (например, ) или перенаправляет (например, ) выходные данные внешней программы.
-
Напротив, на печать непосредственно на дисплей это не влияет, поскольку PowerShell не задействован (что объясняет, почему символы выглядели так, как ожидалось в вашей консоли, когда выходные данные печатались непосредственно на нем. ) .
Если кодировка, сообщаемая , не совпадает с кодировкой, используемой внешней программой, PowerShell неверно интерпретирует выходные данные.
Чтобы это исправить, вы должны (временно) установить в соответствии с кодировкой, используемой внешней программой .
Например, предположим, исполняемый файл , который выводит текст в кодировке UTF-8:
Внимание! :
-
Изменение в соответствии с кодировкой символов внешней программы в настоящее время повреждено в PowerShell Core , начиная с версии 7.0.0-preview.4 и скорее всего будет исправлено в v7.0 — см. этот отчет об ошибке GitHub ; Windows PowerShell не изменяется.
-
по умолчанию отражает кодировку, связанную с кодовой страницей OEM устаревшей языковой системы, как сообщает (например, в Американо-английские системы).
Последние версии Windows 10 теперь позволяют установить системный языковой стандарт для кодовой страницы 65001 (UTF-8) (эта функция все еще находится в бета-версии на момент выпуска Windows 10 1903 года), и это здорово, учитывая, что большинство современных утилит командной строки «говорят» на UTF-8 .
Имея конкретную программу, , js2010 обнаружил , что захват в переменную работает без лишних усилий, если вы передадите .
Причина, по которой это работает, заключается в том, что результирующему выходу с кодировкой UTF16-LE предшествует спецификация (метка порядка байтов).
(Обратите внимание, что не работает, потому что затем не создает BOM.)
Windows PowerShell может обнаруживать и правильно декодировать текст в кодировке UTF-16LE и UTF-8 независимо от действующего ЕСЛИ И ТОЛЬКО ЕСЛИ на выходе предшествует спецификации.
Предостережения :
-
Это не работает в PowerShell Core (на любой из поддерживаемых платформ)
-
Даже в Windows PowerShell вы редко сможете воспользоваться этим неясным поведением, поскольку использование спецификации в выводе stdout является нетипичным (обычно оно используется только в файлы ) .
1
mklement0
18 Окт 2019 в 21:11
Это работает для меня в ISE. Youtube-dl из ytdl-org.github.io. На самом деле ise не понадобится, но имя файла будет правильно отображаться только в проводнике.
Возможно, вам повезет в vscode (или osx / linux).
1
js2010
18 Окт 2019 в 18:54
Установка PowerShell с помощью Winget
Программа командной строки Winget (Диспетчер пакетов Windows) позволяет разработчикам обнаруживать, устанавливать, обновлять, удалять и настраивать приложения на компьютерах с Windows 10. Она является клиентским интерфейсом для службы Диспетчера пакетов Windows.
Примечание
Список системных требований и инструкции по установке см. в документации по winget.
Для установки PowerShell с помощью опубликованных пакетов можно использовать следующие команды:
Найдите последнюю версию PowerShell.
Установите PowerShell окончательной или предварительной версии, используя параметр .
Базовые классы командлетов
Windows PowerShell поддерживает командлеты, которые являются производными от следующих двух базовых классов.
-
Большинство командлетов основаны на классах .NET, производных от базового класса System. Management. Automation. командлет .
наследование от этого класса позволяет командлету использовать минимальный набор зависимостей от Windows PowerShell среды выполнения. Это имеет два преимущества. Первое преимущество заключается в том, что объекты командлетов меньше, и, скорее всего, изменения в среде выполнения PowerShell подвергаются меньшему. Второе преимущество заключается в том, что при необходимости можно напрямую создать экземпляр объекта командлета, а затем вызвать его напрямую, а не вызывать его через среду выполнения PowerShell. -
Более сложные командлеты основаны на классах .NET, производных от базового класса System. Management. Automation. PSCmdlet . Наследование от этого класса обеспечивает гораздо больший доступ к среде выполнения PowerShell. Этот доступ позволяет командлету вызывать скрипты, получать доступ к поставщикам и получать доступ к текущему состоянию сеанса.
(Для доступа к текущему состоянию сеанса вы получаете и устанавливаете переменные сеанса и настройки.) Однако наследование от этого класса увеличивает размер объекта командлета, и это означает, что командлет более тесно связан с текущей версией среды выполнения PowerShell.
Как правило, если вам не нужен расширенный доступ к среде выполнения PowerShell, необходимо создать производный от класса System. Management. Automation. командлет .
Однако среда выполнения PowerShell имеет широкие возможности ведения журнала для выполнения командлетов. Если модель аудита зависит от этого журнала, можно предотвратить выполнение командлета из другого командлета, производя от класса System. Management. Automation. PSCmdlet .
Терминология для продукта, используемая в документации
Документация по PowerShell состоит из двух типов содержимого: справочника по командлетам и концептуального содержимого. Справочник по командлетам предоставляется отдельно для каждой версии. Вы можете выбрать другую версию из раскрывающегося меню в верхнем левом углу страницы. При изменении версий концептуальное содержимое не изменяется. Как правило, основные понятия применимы ко всем версиям PowerShell, если только статья не относится к конкретной версии.
- PowerShell — это имя по умолчанию, используемое для продукта. Используя это наименование в документации, мы имеем в виду текущую версию PowerShell. Различия между PowerShell и Windows PowerShell подчеркиваются указанием конкретной версии.
- Windows PowerShell — PowerShell на основе .NET Framework. Windows PowerShell поставляется только в Windows, и для его работы требуется полная версия платформы .NET Framework. Можно запускать PowerShell и Windows PowerShell на одном компьютере Windows.
Отладка с помощью Visual Studio Code
Отладка без рабочей области
Начиная с версии VS Code 1.9, вы можете отлаживать скрипты PowerShell, не открывая папку со скриптом PowerShell.
- Откройте файл скрипта PowerShell с помощью команды Файл > Открыть файл.
- Установите точку останова на строке и нажмите клавишу F9.
- Нажмите клавишу F5, чтобы запустить отладку.
Откроется панель действий отладки, позволяющая прервать работу отладчика, возобновить отладку, выполнить ее пошагово или остановить.
Отладка с рабочей областью
Отладка с рабочей областью обозначает отладку в контексте папки, которую вы открыли с помощью команды Открыть папку из меню Файл. Открытая папка обычно является папкой проекта PowerShell или корнем репозитория Git. Отладка с рабочей областью позволяет задать несколько конфигураций отладки, а не просто выполнить отладку открытого файла.
Выполните следующие действия, чтобы создать файл конфигурации отладки:
-
Откройте представление Отладка в Windows или Linux (CTRL+SHIFT+D). В macOS нажмите клавиши CMD+SHIFT+D.
-
Щелкните ссылку create a launch.json file (Создать файл launch.json).
-
В окне запроса Select Environment (Выбор среды) выберите PowerShell.
-
Выберите тип отладки, который хотите использовать:
- Launch Current File (Запуск текущего файла) — запуск и отладка файла в текущем активном окне редактора.
- Launch Script (Запуск скрипта) — запуск и отладка указанного файла или команды.
- Interactive Session (Интерактивный сеанс) — команды отладки, выполняемые из интегрированной консоли.
- Attach (Подключение) — подключение отладчика к выполняемому хост-процессу PowerShell.
VS Code создаст каталог и файл в корневой папке рабочей области, где будет храниться конфигурация отладки. Если ваши файлы хранятся в репозитории Git, скорее всего, вы захотите зафиксировать файл . Содержимое файла :
Этот файл представляет типичные сценарии отладки. При открытии его в редакторе отображается кнопка Добавить конфигурацию… Можете нажать ее, чтобы добавить дополнительные конфигурации отладки PowerShell. Одной из полезных конфигураций является PowerShell: Launch Script (Запустить сценарий). С помощью этой конфигурации можно указать файл с дополнительными аргументами, которые используются при каждом нажатии клавиши F5, независимо от того, какой файл активен в редакторе.
После задания конфигурации отладки вы можете указать конфигурацию, используемую во время сеанса отладки, выбрав ее в раскрывающемся списке конфигураций отладки на панели инструментов представления Отладка.
Улучшенные возможности редактирования с помощью Visual Studio Code
Visual Studio Code (VS Code) с расширением PowerShell — поддерживаемая среда написания скриптов для PowerShell 7. Интегрированная среда сценариев (ISE) Windows PowerShell поддерживает только Windows PowerShell.
Обновленное расширение PowerShell включает в себя:
- новый режим совместимости ISE;
- PSReadLine в интегрированной консоли, в том числе выделение синтаксиса, многострочное редактирование и обратный поиск;
- повышенную стабильность работы и производительность;
- интеграцию с CodeLens;
- усовершенствованное автоматическое заполнение пути.
Чтобы упростить переход на Visual Studio Code, используйте возможность Enable ISE Mode (Включить режим ISE), доступную в палитре команд. Эта функция переключает VS Code в режим макета в стиле ISE. Режим макета в стиле ISE предоставляет все новые функции и возможности PowerShell в знакомом пользовательском интерфейсе.
Чтобы переключиться на новый макет ISE, нажмите клавиши CTRL+SHIFT+P, чтобы открыть палитру команд, введите и выберите PowerShell: Enable ISE Mode (PowerShell: включить режим ISE).
Чтобы задать исходный макет, откройте палитру команд и выберите PowerShell: Disable ISE Mode (restore to defaults) (PowerShell: выключить режим ISE (восстановить значения по умолчанию)).
Дополнительные сведения о настройке макета VS Code для ISE см. в статье Репликация функций интегрированной среды скриптов в Visual Studio Code.
Примечание
Добавление в ISE новых возможностей сейчас не планируется. Теперь ISE в последних версиях Windows 10 или Windows Server 2019 и более поздних может удалить пользователь. Окончательное удаление ISE сейчас не планируется. Команда PowerShell и ее партнеры по работе сейчас работают над совершенствованием возможностей написания скриптов с использованием расширения PowerShell для Visual Studio Code.
Политика выполнения
Вопреки распространенному мнению, политика выполнения в PowerShell не является средством обеспечения безопасности. Она предназначена для предотвращения непреднамеренного выполнения сценария пользователем. Определенный пользователь может без труда обойти политику выполнения в PowerShell. В таблице 1-2 показана политика выполнения по умолчанию для текущих операционных систем Windows.
Версия операционной системы Windows | Политика выполнения по умолчанию |
---|---|
Server 2019 | Удаленно подписанная |
Server 2016 | Удаленно подписанная |
Windows 10 | С ограниченным доступом |
Любая команда PowerShell может выполняться в интерактивном режиме, независимо от настройки политики выполнения. Политика выполнения влияет только на команды, выполняемые в сценарии. Командлет используется для определения текущего параметра политики выполнения, а командлет используется для изменения политики выполнения. Рекомендуется использовать политику RemoteSigned, которая требует, чтобы предназначенные для выполнения скачиваемые сценарии были подписаны доверенным издателем.
Проверка текущей политики выполнения
Если для политики выполнения задано С ограниченным доступом, сценарии PowerShell вообще не запускаются. Это параметр по умолчанию для всех клиентских операционных систем Windows. Чтобы продемонстрировать проблему, сохраните следующий код как файл с именем .
Эта команда выполняется в интерактивном режиме без ошибок при условии, что PowerShell запущена с повышенными правами администратора. Но при сохранении в виде файла сценария и попытке выполнить сценарий выдается ошибка.
Обратите внимание, что в сообщении об ошибке, приведенном в предыдущем наборе результатов, указывается точная проблема (в этой системе отключено выполнение сценариев). При выполнении в PowerShell команды, которая создает сообщение об ошибке, обязательно следует прочесть сообщение об ошибке, а не просто перезапустить команду и надеяться на ее успешное завершение
Измените политику выполнения PowerShell на удаленно подписанную.
Обязательно прочтите предупреждение, которое отображается при изменении политики выполнения. Кроме того, рекомендуется ознакомиться с разделом справки about_Execution_Policies, чтобы знать о влиянии изменения политики выполнения на безопасность.
Теперь, когда для политики выполнения задано значение Удаленно подписанная, сценарий будет выполняться без ошибок.
Прежде чем продолжить, запустите службу времени Windows. В противном случае могут возникнуть непредвиденные проблемы.