Перейти к основному содержимому
Версия: 7.0

Windows Server (PowerShell-Модуль)

Обновление PowerShell-модуля

Открыть PowerShell от имени «Администратора»:

С помощью контекстного меню Пуск
  1. Нажать правой кнопкой мыши на значке Пуск в левом нижнем углу экрана.
  2. Выбрать «Windows PowerShell (администратор)» из контекстного меню.
С помощью меню Пуск
  1. Нажать левой кнопкой мыши на значок Пуск в левом нижнем углу экрана.
  2. Прописать powershell
  3. Открыть PowerShell от имени «Администратора» комбинацией — Ctrl + Shift + Enter

Получить архив PassworkModule.zip в текущую директорию:

if (-not (Test-Path "$pwd\PassworkModule.zip")) {
(New-Object System.Net.WebClient).DownloadFile(
"https://repos.passwork.ru/repository/powershell/PassworkModule.zip",
"$pwd\PassworkModule.zip"
)
Write-Host "Модуль успешно получен" -ForegroundColor Green
} else {
Write-Host "Архив с модулем уже существует" -ForegroundColor Red
}
к сведению

В случае ошибок, архив можно получить вручную: https://repos.passwork.ru/repository/windows_powershell/PassworkModule.zip

Разархивировать PowerShell-модуль с заменой файлов:

# Получить расположение PowerShell модулей 
$windowsModulePaths = $env:PSModulePath -split ";" | Where-Object { $_ -like "C:\Windows*" }

# Разархивировать PowerShell-модуль в директорию с перезаписью
Expand-Archive `
-Path "$pwd\PassworkModule.zip" `
-DestinationPath $windowsModulePaths -Force

# Удалить архив PassworkModule.zip
Remove-Item "$pwd\PassworkModule.zip"

Деактивировать и активировать PowerShell-модуль для применения изменений в новой версии:

# Деактивировать PowerShell-модуль
Remove-Module -Name "PassworkModule"

# Активировать PowerShell-модуль
Import-Module -Name "PassworkModule"
Если Пассворк расположен в закрытом контуре

Если сервер с Пассворк расположен в закрытом контуре и не имеет доступа в интернет, нужно выполнить:

  1. Получить архив PHP8.3 и переместить на Windows Server;
  2. Получить архив 7 версии на клиентском портале Пассворка и переместить на Windows Server.

Архивы должны быть расположены в директории откуда будет выполняться функция для обновления PHP и Пассворка:

$PWD\php_latest.zip
$PWD\Passwork-xxxxxx.zip

Обновление PHP и Пассворка

Запустить функцию в PowerShell:

Update-Passwork-Environment
Выполняемые действия
  1. Проверка версии Пассворка
  2. Проверка выполнения миграции в веб-интерфейсе
  3. Проверка доступности клиентского портала
  4. Получение архивов или ожидание архивов в $PWD
  5. Разархивирование PHP
  6. Удаление старых PHP версий из PATH
  7. Добавление новой PHP версии в PATH
  8. Создание архива Пассворка (6.5.x)
  9. Разархивирование актуальной версии Пассворка
  10. Создание файлов с заполнением данных из config.ini
  11. Регистрация PHP8.3 в веб-сервере IIS
  12. Обновление данных в .passwork_component

Процесс выполнения функции

Функция проверяет выполнение первичной миграции в веб-интерфейсе Пассворка (6.5). Она распаковывает актуальные версии Пассворка и PHP, а затем создаёт файлы конфигурации. В случае ошибок они выводятся в консоль PowerShell:

Пример получения ошибки

По завершению отобразится сообщение об успешном обновлении Пассворка и PHP. Так выглядит успешное завершение функции:

Пример успешной миграции Пассворка