Offline installation
Minimum system requirements
The PowerShell module supports the following OS versions:
- Windows Server 2019
- Windows Server 2022
- Windows Server 2025
Passwork is not demanding on system resources, and the required number of servers depends on the number of active users, the volume of stored data, and the system's fault tolerance requirements.
Please review the full system requirements.
Preparing environment for offline installation
Obtaining components for Passwork
Before installing Passwork, you need to obtain the components and module, then use the Install-Passwork -Method offline function, which will perform the installation.
Download the following components and transfer them to the Windows Server:
- PowerShell module
- MongoDB
- Administration utilities
- PHP
- Components for IIS
- Script for archive verification
Obtaining Passwork
Go to Passwork Customer Portal and download the latest available version of Passwork with a digital signature:

To verify the digital signature, you also need the Passwork public key public_key.pem, ways to obtain it:
Manually
- Open URL;
- Copy all the contents;
- Paste into a file and save the content with the name — public_key.pem.
Automatically (PowerShell)
- PowerShell
(New-Object System.Net.WebClient).DownloadFile("https://passwork.pro/public-key", "$PWD\public_key.pem")
Preparing and starting installation
Open PowerShell as "Administrator":
Using the Start context menu
- Right-click on the Start icon in the lower-left corner of the screen.
- Select "Windows PowerShell (Administrator)" from the context menu.
Using the Start menu
- Left-click on the Start icon in the lower-left corner of the screen.
- Type
powershell - Open PowerShell as "Administrator" by pressing
Ctrl + Shift + Enter
Unpack the PowerShell module into the default directory:
- PowerShell
# Get the location of PowerShell modules
$windowsModulePaths = $env:PSModulePath -split ";" | Where-Object { $_ -like "C:\Windows*" }
# Unpack the PowerShell module into the directory
Expand-Archive `
-Path "$pwd\PassworkModule.zip" `
-DestinationPath $windowsModulePaths -Force
Create a directory for components and archives:
- PowerShell
if (-not (Test-Path "$pwd\passwork_component" -PathType Container)) {
New-Item -Path "$pwd\passwork_component" -ItemType Directory
Write-Host "Directory successfully created" -ForegroundColor Green
} else {
Write-Host "Directory already exists"
}
Move the components and archives into passwork_component. The file structure should look like this:
- PowerShell
$pwd\passwork_component\
database_tools_latest.zip
iis_package_latest.zip
mongodb_database_latest.msi
php_latest.zip
Passwork-xxxxxx.zip
xxxxxx.sig
public_key.pem
sign_check.php
Installation
Run the offline installation of Passwork:
- PowerShell
Install-Passwork -Method offline
By default, the script verifies the archive's digital signature using the provided public key. If the signature is invalid or missing, the update will be aborted.
If you trust the archive source, you can skip the signature verification:
- PowerShell
Install-Passwork -Method offline -ignoreSignatureCheck
Actions performed by the function
- Checking the operating system version
- Preparing and installing MongoDB
- Checking for administration utilities
- Installing administration utilities
- Preparing the Passwork code archive
- Verifying the PHP archive
- Configuring PHP
- Checking and installing IIS with additional extensions
- Verifying the archive using digital signature
- Unpacking Passwork code
- Configuring the web server with creating the Passwork website
- Configuring the Passwork website in conjunction with PHP
The script will check user permissions and perform installation and configuration of components. In case of errors, PowerShell will display error messages:

Upon completion, it will display the address to connect to Passwork via a web browser. This is what a successful installation looks like:

Installation wizard
After installation and configuration, Passwork will be available at https://your_servername
By default, Passwork uses a self-signed certificate, which is automatically generated during installation, so the first time you open the page, you will see a message that the browser does not trust the site's certificate.
Choose language
At the first step, the system will prompt you to select the interface language:

Server settings checklist
The checklist will show whether all components are installed on the server:

Database connection
Use the default MongoDB address to connect:

Zero knowledge mode
Client-side encryption adds a second layer of data protection and implements the Zero Knowledge model. This ensures maximum security when storing Passwork.
Client-side encryption mode is fundamental; it cannot be enabled or disabled in an already running Passwork (this will result in your inability to open data).
Learn more about how client-side encryption works — cryptography

Configuring Passwork
Passwork will generate a new key for server encryption. If connecting Passwork to an existing database, specify the encryption key used:
Please use the key generated by Passwork. Using keys generated by third-party tools may cause errors.

License key
The license key can be downloaded from the Passwork Customer Portal:

SSL certificate configuration
By default, Passwork generates a self-signed certificate. After installation, you can switch to using full SSL certificates.
Using your own certificate
- For certificates issued by a trusted issuer;
- For certificates issued by your organization's domain certification authorities.
Open Server Manager → Tools → IIS Manager → Server Certificates and click Import:

After importing, go to the Passwork website, open "Bindings" and select the imported web certificate for the HTTPS protocol:

Configuring Background tasks
Background tasks are tasks that run on a scheduler in the background. Example of configuring background tasks.
Background tasks are mandatory for the correct operation of some Passwork functionalities, for example:
- LDAP operations;
- Sending email notifications;
- Loading favicons;
- Cleaning the session collection in the Passwork database.