Skip to content
InvardiaInvardia
Why InvardiaProductsFeaturesPricingCommunity
Docs
All documentation
Product documentationPIM ManagerSecurityInsight
SettingsPIM Manager settingsSecurityInsight settingsEntra Policy Suite settings
ScriptsPIM Manager scriptsSecurityInsight scriptsEntra Policy Suite scriptsInvardia scripts
Error codesPIM Manager error codesSecurityInsight error codes
API and MCPPIM Manager APIPIM Manager MCP toolsSecurityInsight APISecurityInsight MCP tools
SecurityPIM Manager security packSecurityInsight security packEntra Policy Suite security pack
Network and designPIM Manager network guidesPIM Manager command wizardNetwork egressDesign your installationCalculate your cost
SupportSetup scriptsRemote support access
Search the docs
SupportAboutContactBook a demoCustomer portalDesign your installationFree Pro trial

PIM Manager scripts

Start-PimManagerInstall

Install PIM Manager (one command)

Purpose

Install PIM Manager with one command: download the public PIM Manager release into a new folder, check the download, and run its guided installer (Install-PimManager) with the parameters you give.

When to run it

Once, to install PIM Manager into your own Azure subscription with only -TenantId and -SubscriptionId. The file decides the edition: the copy from the public GitHub release installs Community; the copy Invardia gives Pro and trial customers installs Pro with the same command (no licence in the command: the installation asks Invardia for its licence by itself). Download it (line 1), then run it with your values (line 2). Run it with -WhatIf first to see the plan; run the same command with -Resume after fixing a stopped step.

Who may run it

KindRoleScopeWhy
azureRbacOwnerthe target subscriptionThe installer it runs (Install-PimManager) creates the resource group and its resources and assigns Azure roles to the identities it creates (Contributor + User Access Administrator is the equivalent); its check stops before anything is created without it.
entraRolePrivileged Role AdministratortenantFor the installer: Microsoft Graph application permissions for PIM Manager's identities and the SQL admin group. Without it the installation continues and ends with the command for the right person.
entraRoleApplication AdministratortenantFor the installer: the Manager's sign-in app registration (the same as Install-PimManager).
exchangeExchange Administrator (optional)Exchange OnlineFor the installer: only for the mail sender (a shared mailbox and its scoped send right). Without it the step is a warning with the command for an Exchange Administrator.
otherSigned in in the browser as yourself (no command-line tool, no PowerShell module, no secret, no certificate)the tenant and subscription you nameThe installer signs you in in the browser when it first needs Azure or Microsoft Graph. The Community copy itself reads only public release data and needs no sign-in; the Pro copy signs you in in the browser first (an administrator of -TenantId) to download the PIM Manager Pro package from Invardia for that tenant, and hands that sign-in to the installer.

What it changes

WhereActionWhatPermission / roleScopeWhyUndo
Local machinecreatea new folder in the temp folder (pim-manager-release-<version>-<random>) with the downloaded release zip and its unpacked files, and a small note (pim-manager-install-<id>.json in the temp folder) with that folder's path so -Resume uses it againThe installer runs from the release it was downloaded with; -Resume needs no new download.Delete the folder and the note.
Azure, Microsoft Entra ID, Azure SQLcreatethe PIM Manager installation, made by Install-PimManager from the downloaded release (every object, permission and scope is listed on its page: https://invardia.com/docs/pim/scripts/Install-PimManager/)This launcher only fetches the release and starts the installer with your parameters.As described for Install-PimManager (delete the resource group after exporting the database, and the Entra objects it created).

What it only reads

  • The public release metadata of the PIM Manager release on GitHub (latest, or -Version) and the release files it names; this file and the release zip are checked against the release before anything runs.
  • The Pro copy instead: the PIM Manager Pro package of your update ring for your tenant from Invardia (after your browser sign-in) -- Invardia's sealed manifest and the zip it names; that Invardia issued it, the size and the SHA-256 are checked before anything runs. It never falls back to GitHub.
  • The note in the temp folder that names the release folder of a previous run (-Resume).

Parameters

ParameterRequiredDefaultWhat it does
-TenantIdyesThe Microsoft Entra tenant PIM Manager manages (passed to Install-PimManager).
-SubscriptionIdyesThe Azure subscription that hosts PIM Manager (passed to Install-PimManager).
-LocationnoswedencentralAny Azure region (passed through).
-ResourceGroupnorg-pimThe resource group (passed through).
-SuperAdminsnoyou (the person installing)The PIM Manager administrators (passed through).
-AlertRecipientsnothe administrators' mailboxesWho gets the alerts (passed through).
-MailSendernoThe mailbox PIM Manager sends from (passed through).
-PortalUsersnothe administratorsWho may sign in to PIM Manager (passed through).
-AllowAllMembersnofalseEvery member account of the tenant may sign in; guests never (passed through).
-VnetAddressPrefixno10.220.0.0/22The virtual network range (passed through).
-SubnetAddressPrefixno10.220.0.0/23The old name of -AppsSubnetPrefix, kept for one release (passed through).
-ExposurenoexternalThe old switch of the network shape, kept for one release: internal = -PrivateNetwork (passed through).
-PrivateNetworknofalseInstall the private shape: no public address (passed through; Install-PimManager's help has the details).
-VnetIdnoA private install: use this existing virtual network (any resource group of the installation's subscription) instead of making one (passed through).
-VnetNamenovnet-pimThe name of the virtual network the installation makes (passed through).
-AppsSubnetNamenosnet-pim-acaThe Container Apps subnet's name (passed through).
-AppsSubnetPrefixno10.220.0.0/23The Container Apps subnet's range, a /23 or larger inside the network (passed through).
-EndpointsSubnetNamenopim-endpointsA private install: the private endpoints subnet's name (passed through).
-EndpointsSubnetPrefixnothe /26 after the apps subnetA private install: the private endpoints subnet's range, a /28 or larger (passed through).
-PrivateDnsZonesResourceGroupIdnoA private install: your central privatelink zones (a resource group id) -- used, never created or written (passed through).
-HubVnetIdnoA private install: your hub network, for the peering and the zone link (passed through).
-LinkZonesToHubnofalseA private install: link PIM Manager's own private zone to the hub (passed through).
-PeerToHubnofalseA private install: peer the PIM network with the hub, both sides (passed through).
-InternalRangesno[]A private install behind a hub firewall: the ranges your users connect from, for the app subnet's return route (passed through, with -FirewallIp).
-FirewallIpnoA private install: your hub firewall's private IP, the return route's next hop (passed through, with -InternalRanges).
-WebAppAccessnoexternal (internal with -PrivateNetwork)How the PIM Manager is reached; internal only with -PrivateNetwork, and a private install is always internal (passed through).
-UpdateRingno3Pro: the update ring, 2 (design partners) or 3 (broad, the default) (passed through).
-KeyVaultNamenokv-pim-<token>The installation's own Key Vault name (passed through).
-EngineAzureRootUserAccessAdminnofalseAlso give the PIM engine User Access Administrator at the tenant root (passed through).
-InstallIdnoderived from tenant, subscription and resource groupThe installation id (passed through).
-SupportAppIdnoThe Invardia Support app's client id -- only when you want Invardia support to have access (passed through). The Support app is named by its id, never found by name; nothing is granted without it.
-SupportAccessnotroubleshootThe Support app's level: troubleshoot, setup or asbuilt, used only with -SupportAppId (passed through).
-ReporternoCallback that receives every step event (passed through).
-StatePathnoclouddrive/invardia/<install id> (Cloud Shell) or ~/invardia/<install id>The installer's resume state folder (passed through).
-ResumenofalseContinue a stopped installation: the release downloaded before is used again when it is the same edition and version this copy installs now; otherwise it is downloaded afresh (one line says so). The installation continues from its own saved progress (passed through).
-PreflightOnlynofalseRun only the installer's checks (passed through).
-ViaSupportAppnofalseRun the installation as the Invardia Support app (passed through). It needs a Connect-InvardiaSupport session for the same tenant in this PowerShell window; without one it stops before anything is downloaded.
-Versionnothe latest public releaseThe PIM Manager release to install, for example 3.0.5.
-ReleasePathnoA folder that already holds the unpacked release: nothing is downloaded.

Preview with -WhatIf

Downloads and unpacks the release into a new folder in the temp folder (the plan is read from it), then runs Install-PimManager -WhatIf from it: its checks (reads only) and every step it would take. No note is written and nothing in Azure, Microsoft Entra ID or the database is changed.

Undo

Delete the release folder and the note in the temp folder; the installation itself is undone as described for Install-PimManager.

Network

It connects to: api.github.com (the release metadata), github.com, objects.githubusercontent.com and release-assets.githubusercontent.com (the release files), the Pro copy instead: login.microsoftonline.com (the browser sign-in) and invardia.com (the Pro package and the short-lived download link it names), and everything Install-PimManager reaches (management.azure.com, graph.microsoft.com, login.microsoftonline.com, the database it creates <server>.database.windows.net:1433, the registry it creates <registry>.azurecr.io, outlook.office365.com for the mail sender)

Download and run

Run these lines in PowerShell: the first downloads the script into the current folder, the second runs it.

Invoke-WebRequest https://invardia.com/support/pim/Start-PimManagerInstall.ps1 -OutFile Start-PimManagerInstall.ps1
.\Start-PimManagerInstall.ps1 -TenantId <TenantId> -SubscriptionId <SubscriptionId>

To check the download first, compare its SHA-256 with the published one:

SHA-256 f2d532d36411bb5cfecef829c97913c55b267bfbebb330f5a39e2572dff47c94

Checksums: SHA256SUMS.txt · Version 3.0.70

Before you run it, compare the file's SHA-256 with its line in SHA256SUMS.txt.

Every parameter: Get-Help .\Start-PimManagerInstall.ps1 -Full · Source: Start-PimManagerInstall.ps1

Every script, identity and permission for your security review: PIM Manager

InvardiaInvardia

See the risk. Control the access.

Products

PIM ManagerSecurityInsightEntra Policy SuiteAll featuresPricingFree 60-day Pro trialBook a demoWhy Invardia

Docs

DocumentationSearch the docsPIM Manager settingsSecurityInsight settingsPIM network guidesCommand wizardNetwork egressPIM Manager design configuratorSecurityInsight design configuratorDesign your installationCalculate your cost

Company

AboutContactCustomer portalSupportHow support worksHow updates reach youSupport in numbersSetup scriptsRemote support accessContact: info@invardia.com

Legal

Terms of saleLicence termsData processingPrivacyCookiesCompany information
© 2026 Invardia – a brand of 2LINKIT, founded and owned by Morten Knudsen · Strandvejen 21A, 6000 Kolding, Denmark · VAT DK39208032 · Contact: info@invardia.com