Поделиться через


Настройка Windows PowerShell для запуска в Service Manager

Важно!

Поддержка этой версии Service Manager завершена. Мы рекомендуем выполнить обновление до Service Manager 2022.

Перед выполнением команд в интерфейсе командной строки Windows PowerShell в System Center — Service Manager необходимо задать для политики выполнения значение RemoteSigned и импортировать модуль командлета хранилища данных.

Командлеты Service Manager реализованы в следующих двух модулях:

  • System.Center.Service.Manager. Этот модуль импортируется автоматически при каждом открытии сеанса Service Manager Windows PowerShell.

  • Microsoft.EnterpriseManagement.Warehouse.Cmdlets. Этот модуль необходимо импортировать вручную.

Командлеты в рабочих процессах средства разработки

При использовании средства разработки Service Manager для создания рабочего процесса пользовательские скрипты, использующие Windows PowerShell командлеты, вызываемые рабочим процессом, завершаются ошибкой. Это происходит из-за проблемы с файлом Service Manager MonitoringHost.exe.config.

Чтобы обойти эту проблему, обновите XML-файл MonitoringHost.exe.config, выполнив следующие действия.

  1. Перейдите в папку %ProgramFiles%\Microsoft System Center\Service Manager или в расположение, где вы установили Service Manager.

  2. Внесите изменения в файл MonitoringHost.exe.config, добавив в соответствующий раздел файла раздел, выделенный курсивом в приведенном ниже примере. Необходимо вставить раздел перед строкой <publisherPolicy apply="yes" />.

  3. Сохраните внесенные в файл изменения.

  4. Перезапустите службу управления System Center на сервере управления Service Manager.

<?xml version="1.0"?>
<configuration>
    <configSections>
        <section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </configSections>
    <uri>
        <iriParsing enabled="true" />
    </uri>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.Mom.Modules.DataTypes" publicKeyToken="31bf3856ad364e35" />
                <publisherPolicy apply="no" />
                <bindingRedirect oldVersion="6.0.4900.0" newVersion="7.0.5000.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.EnterpriseManagement.HealthService.Modules.WorkflowFoundation" publicKeyToken="31bf3856ad364e35" />
                <publisherPolicy apply="no" />
                <bindingRedirect oldVersion="6.0.4900.0" newVersion="7.0.5000.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.EnterpriseManagement.Modules.PowerShell" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="6.0.4900.0" newVersion="7.0.5000.0" />
            </dependentAssembly>
            <publisherPolicy apply="yes" />
            <probing privatePath="" />
        </assemblyBinding>
        <gcConcurrent enabled="true" />
    </runtime>
</configuration>

Политика выполнения

Используйте следующую процедуру, чтобы задать для политики выполнения значение RemoteSigned в Service Manager. Это необходимо для автоматического или ручного импорта модулей командлетов Service Manager.

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

Настройка политики выполнения

  1. На компьютере, на котором вы хотите запустить Windows PowerShell, нажмите кнопку Пуск, все программы, версию> Microsoft System Center<, Service Manager и Service Manager оболочку.

  2. В командной строке Windows PowerShell введите следующую команду и нажмите клавишу ВВОД:

    Set-ExecutionPolicy –Force RemoteSigned
    
  3. Введите exit и нажмите клавишу ВВОД, чтобы закрыть окно Администратор: Windows PowerShell.

Импорт модуля командлета хранилища данных

Чтобы использовать командлеты хранилища данных в Service Manager, необходимо вручную импортировать модуль командлетов хранилища данных Windows PowerShell для Service Manager. Вы можете импортировать модуль командлетов хранилища данных на сервер управления Service Manager, сервер управления хранилищем данных или и то, и другое.

Импорт модуля командлетов хранилища данных

  1. На сервере управления откройте сеанс Service Manager Windows PowerShell. Или на сервере управления хранилищем данных откройте сеанс Windows PowerShell. Убедитесь, что запрос Windows PowerShell находится в папке установки Service Manager.

  2. В командной строке Windows PowerShell введите следующую команду и нажмите клавишу ВВОД:

    Import-Module ".Microsoft.EnterpriseManagement.Warehouse.Cmdlets.psd1"
    
  3. Введите exit и нажмите клавишу ВВОД, чтобы закрыть окно Администратор: Windows PowerShell.

Дальнейшие действия