Виконання робочого процесу windows powershell

Ви створюєте новий сеанс для підключення до комп'ютера, на якому виконується робочий процес, під час запуску робочого процесу з самого початку, або якщо був закритий (а не просто відключений) попередній сеанс, підключений до комп'ютера робочого процесу. Якщо ви відновлюєте підключення до вже виконує робочому процесу, створювати новий сеанс для підключення до комп'ютера, на якому виконується робочий процес, не потрібно; можна підключитися до існуючого сеансу. Наступна процедура є прикладом створення нового сеансу на локальному або віддаленому комп'ютері.

Створення нового сеансу робочого процесу

Запустіть Visual Studio. Якщо ви підключаєтеся з віддаленого комп'ютера, запускати Windows PowerShell з підвищеними правами (запуск від імені адміністратора) не потрібно.

Запустіть віддалений сеанс Windows PowerShell, підключений до комп'ютера, на якому ви хочете виконувати робочий процес, і збережіть цей сеанс в змінної. Цей сеанс може бути на локальному комп'ютері (localhost) або на віддаленому комп'ютері. Наприклад, такі команди запускають віддалений сеанс на локальному комп'ютері і зберігають сеанс у змінній $ WFServer. Даний сеанс налаштовується для використання конфігурації сеансу робочого процесу за замовчуванням, як описано в розділі Налаштування середовища робочого процесу.

У наступному прикладі команда запускає сеанс робочого процесу на локальному комп'ютері і зберігає цей сеанс в змінній $ WFServer. За допомогою командлета New-PSWorkflowSession сеанс налаштовується для використання конфігурації сеансу робочого процесу за замовчуванням.

У наступному прикладі команда запускає сеанс робочого процесу на іншому комп'ютері, Server01. і зберігає цей сеанс в змінній $ WFServer.

$ WFServer = New-PSWorkflowSession -ComputerName Server01 -credentialІмяДомена \ ІмяКомпьютера

Оскільки в попередньому прикладі сеанс сервера робочих процесів запускається на віддаленому комп'ютері, користувач повинен явно надати облікові дані. Явні облікові дані не потрібні, якщо в конфігурації сеансу застосовується функціональність RunAs. де всі користувачі мають загальний набір облікових даних, визначених у конфігурації сеансу.

Крім того, можна створити новий сеанс Windows PowerShell, виконавши командлет New-PSSession. як описано в розділі New-PSSession. При використанні командлет New-PSSession замість New-PSWorkflowSession ви можете додати параметр ConfigurationName для вказівки конфігурації сеансу, відмінної від використовуваної за замовчуванням конфігурації сеансу робочого процесу Windows PowerShell. Щоб вказати конфігурацію сеансу робочих процесів Windows PowerShell за замовчуванням, додайте в команду -ConfigurationName Microsoft.PowerShell.Workflow.

Тепер можна запускати робочі процеси в цьому сеансі з модуля або за допомогою виклику ізольованого XAML або робочого процесу Windows PowerShell на основі скриптів.

Наступна процедура показує, як запустити робочий процес, упакований в модуль. Цей етап необхідний, тільки якщо в маніфесті модуля не вказано ключ кореневого модуля або вкладеного модуля.

Імпорт і запуск робочого процесу в модулі

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

Скопіюйте каталог модуля, який був створений в розділі Збереження робочого процесу в модулі. на комп'ютер, на якому ви запускаєте робочий процес. Для зручності скопіюйте його в каталог Modules (наприклад, $ env: C: \ Users \\ Documents \ WindowsPowerShell \ Modules) на цьому комп'ютері.

При необхідності імпортуйте модуль в сеанс, підключений до комп'ютера, на якому виконується робочий процес, за допомогою будь-якої з наступних двох команд. У Windows PowerShell 3.0 модулі імпортуються в сеанс автоматично при першому виконанні командлет, який є частиною модуля. Додайте командлет Invoke-Command для виконання команди Import-Module в сеансі сервера робочих процесів. Необов'язковий параметр Verbose відображає функції, що додаються модулем до сеансу.

Наприклад, наступна команда імпортує модуль RoleManager в сеанс сервера робочих процесів.

Введіть ім'я робочого процесу і натисніть клавішу ENTER. щоб запустити робочий процес. Наприклад, щоб запустити робочий процес, який був збережений в модулі в розділі Збереження робочого процесу в модулі. введіть Install-Role - PSComputerName <имена_управляемых_узлов>. а потім натисніть клавішу Enter.

Наступна процедура показує, як запускається робочий процес на основі XAML, що не знаходиться в модулі в сеансі, підключеному до комп'ютера, на якому потрібно запустити робочий процес. Після імпорту XAML-файлів робочих процесів можна використовувати ці робочі процеси в сеансі сервера робочих процесів. Додаткові відомості про робочі процеси на основі XAML, які можна використовувати в Windows PowerShell, див. В розділі "Створення та імпорт робочих процесів за допомогою конструктора робочих процесів Visual Studio" статті Загальні відомості про робочий процес Windows PowerShell.

Імпорт і запуск робочого процесу з XAML-файлу робочого процесу

Почніть сеанс сервера робочих процесів, як описано в розділі Створення нового сеансу робочого процесу.

Щоб імпортувати XAML-файл робочого процесу в сеанс сервера робочих процесів, виконайте наступну команду.

Наприклад, наступна команда імпортує робочі процеси Install-Role і Set-Role в сеанс сервера робочих процесів:

Ви можете додавати контрольні точки в запускаються робочі процеси і скасовувати їх контрольні точки за замовчуванням. Не можна видаляти або скасовувати явні контрольні точки в робочому процесі.

Контрольна точка - це знімок стану робочого процесу і даних, зроблений під час виконання робочого процесу. Контрольна точка зберігається на диск на комп'ютері, на якому виконується робочий процес, або в базі даних SQL. Якщо робочий процес призупинений або перерваний, його можна не перезапускати, а відновити з останньої контрольної точки.

Більшість робочих процесів мають явні контрольні точки. Додаткові контрольні точки корисні в тих випадках, коли мережа не стабільна, робочий процес часто переривається або виконується на дуже великій кількості пристроїв. Однак додавання занадто великої кількості контрольних точок може сильно уповільнити виконання робочого процесу. Переконайтеся, що час, необхідний для запису даних контрольних точок на диск, менше, ніж час, який буде потрібно для перезапуску робочого процесу, якщо він буде перерваний.

Щоб налаштувати контрольні точки в робочому процесі, використовуйте загальний параметр робочого процесу PSPersist. Далі наведені допустимі значення.

Додає контрольну точку після кожної дії. Ці контрольні точки є доповненнями до контрольних точок за замовчуванням, встановленим на початку і в кінці робочого процесу, і до всіх контрольних точках, явно зазначених у робочому процесі.

Скасовує контрольні точки за замовчуванням, що встановлюються на початку і в кінці робочого процесу. Це значення не впливає на явні контрольні точки.

У наступних прикладах показується запуск робочого процесу WorkflowState з параметром PSPersist, встановленим в значення $ True і $ False.