PowerShell reference
The ZeroPortal module drives the portal through its REST API: packages, connection groups, entitlements, policies, groups, permissions, licences, backup. It runs on Windows PowerShell 5.1 and PowerShell 7.
Getting started
The module is installed with the server. On another machine, copying the PowerShell\ZeroPortal folder from the installation is enough.
Import-Module ZeroPortal
Set-AppvZeroPortalCmdLetConfiguration -BaseUrl 'https://zeroportal.corp.local:8080'
Get-AppvZeroPortalPackage
Calls authenticate with the Windows account of the caller (Kerberos). Scripts without a domain, or automation, use an API key, see Devices without a domain (API key).
Configuration
Get-AppvZeroPortalCmdLetConfiguration | Returns the current ZeroPortal module configuration. |
Set-AppvZeroPortalCmdLetConfiguration | Sets the server URL and/or connection options for all ZeroPortal cmdlets. Each parameter is optional; omitting it leaves the current value unchanged. |
Package management
Get-AppvZeroPortalPackage | Retrieves App-V packages from the ZeroPortal server. |
Import-AppvZeroPortalPackage | Imports an App-V package into the ZeroPortal server. |
Remove-AppvZeroPortalPackage | Removes an App-V package from the ZeroPortal server. |
Publish-AppvZeroPortalPackage | Publishes an App-V package (Enabled = true). |
Unpublish-AppvZeroPortalPackage | Unpublishes an App-V package (Enabled = false). |
Set-AppvZeroPortalPackage | Updates metadata of an App-V package (description, package URL, configurations). |
Grant-AppvZeroPortalPackage | Grants AD groups or users access to a package (entitlement). |
Revoke-AppvZeroPortalPackage | Revokes access to a package for AD groups or users. |
Package configuration
Get-AppvZeroPortalPackageDeploymentConfiguration | Returns the deployment configuration (machine policy) of a package. |
Set-AppvZeroPortalPackageDeploymentConfiguration | Imports or replaces the deployment configuration (machine policy) of a package. |
Get-AppvZeroPortalPackageUserConfiguration | Returns the user configuration of a package. |
Set-AppvZeroPortalPackageUserConfiguration | Imports or replaces the user configuration of a package for a SID. |
Connection group management
Get-AppvZeroPortalConnectionGroup | Retrieves App-V connection groups from the ZeroPortal server. |
New-AppvZeroPortalConnectionGroup | Creates a new App-V connection group. |
Copy-AppvZeroPortalConnectionGroupVersion | Copies an App-V connection group as a NEW VERSION. |
Remove-AppvZeroPortalConnectionGroup | Removes an App-V connection group. |
Set-AppvZeroPortalConnectionGroup | Updates metadata of a connection group (name, description, priority). |
Publish-AppvZeroPortalConnectionGroup | Publishes a connection group (Enabled = true). |
Unpublish-AppvZeroPortalConnectionGroup | Unpublishes a connection group (Enabled = false). |
Grant-AppvZeroPortalConnectionGroup | Grants AD groups or users access to a connection group. |
Revoke-AppvZeroPortalConnectionGroup | Revokes access to a connection group for AD groups or users. |
Add-AppvZeroPortalConnectionGroupPackage | Adds a package to a connection group. |
Remove-AppvZeroPortalConnectionGroupPackage | Removes a package from a connection group. |
Set-AppvZeroPortalConnectionGroupPackage | Updates the properties of a package within a connection group. |
Update-AppvZeroPortalConnectionGroup | Increments the VersionGuid of a connection group so App-V clients detect the change. |
MSIX package management
Get-MsixZeroPortalPackage | Lists MSIX catalog packages (name/family wildcard or id). |
Import-MsixZeroPortalPackage | Imports an MSIX/APPX package (or bundle) from a repository path. |
Set-MsixZeroPortalPackage | Publishes or unpublishes MSIX packages (Enabled flag). |
Remove-MsixZeroPortalPackage | Deletes MSIX packages from the catalog (incl. entitlement cleanup; generated App Attach disks too when the portal setting MsixAppAttachDeleteWithPackage is on). |
Get-MsixZeroPortalPackageEntitlement | Lists the entitlements (AD groups/users) of an MSIX package. |
Grant-MsixZeroPortalPackage | Grants an AD group (or SID) access to an MSIX package. |
Copy-MsixZeroPortalPackageEntitlement | Copies a package's entitlements onto its dependencies and publishes them. |
Revoke-MsixZeroPortalPackage | Revokes access to an MSIX package for an AD group name or SID. |
Migration export/import
Get-ZeroPortalConfigurationValue | Lists the PortalConfiguration key/value store (full admins only). Sensitive names (password/secret/token/...) are listed without value. |
Set-ZeroPortalConfigurationValue | Creates or updates one PortalConfiguration value (full admins only). |
Export-ZeroPortalPolicyBuildingBlock | Exports a policy set (or a single policy) as a building-block XML string. |
Import-ZeroPortalPolicyBuildingBlock | Imports a building-block XML (sets + policies; also accepts GPP XML files). |
Export-ZeroPortalConfiguration | |
Import-ZeroPortalConfiguration | Restores a ZeroPortal configuration backup, or replays a migration export. |
Export-ZeroPortalConfigurationScript | Writes the portal's current state as a RUNNABLE PowerShell script. |
Licensing
Get-ZeroPortalLicense | Lists the installed licences, including the built-in allowance. |
Import-ZeroPortalLicense | Uploads a signed licence file (*.zplic). |
Remove-ZeroPortalLicense | Removes an installed licence file. |
Get-ZeroPortalLicenseMode | Shows the licence counting mode and the current numbers. |
Set-ZeroPortalLicenseMode | Sets the licence counting mode (PerUser or PerDevice). |
Identity
New-ZPRootPasswordHash | Creates a ZPH1 password hash for the portal's root account or an internal user. |
Find-ZeroPortalPrincipal | Searches a directory source for principals (groups and/or user accounts). |
Get-ZeroPortalGroup | Lists the portal permission groups. |
New-ZeroPortalGroup | Creates a portal permission group. |
Remove-ZeroPortalGroup | Removes a portal group including its members and the permissions granted to it. |
Get-ZeroPortalGroupMember | Lists the members of a portal group. |
Add-ZeroPortalGroupMember | Adds a principal to a portal group. Members may come from any identity source. |
Remove-ZeroPortalGroupMember | Removes a member from a portal group (MemberId from Get-ZeroPortalGroupMember). |
Get-ZeroPortalInternalUser | Lists the internal portal accounts (accounts that work without Active Directory). |
New-ZeroPortalInternalUser | Creates an internal portal account. |
Set-ZeroPortalInternalUser | Enables or disables an internal portal account. |
Remove-ZeroPortalInternalUser | Removes an internal portal account including its memberships and permissions. |
Enrollment and API keys
Get-ZeroPortalEnrollmentToken | Lists the agent rollout tokens. |
New-ZeroPortalEnrollmentToken | Creates a rollout token and returns its value ONCE. |
Set-ZeroPortalEnrollmentToken | Re-opens, extends or closes a rollout window. |
Remove-ZeroPortalEnrollmentToken | Deletes a rollout token. Keys already issued through it stay valid. |
Get-ZeroPortalApiClient | Lists the known clients and the state of their API credentials. |
Set-ZeroPortalApiClient | Disables or re-enables the API credential of a client. |
Module permissions
Get-ZeroPortalModulePermission | Lists the module permission matrix — one object per principal and module. |
Set-ZeroPortalModulePermission | Sets one cell of the module permission matrix. |
Remove-ZeroPortalModulePermission | Removes every module permission of one principal. |
Health / Node status
Get-ZeroPortalHealth | Returns the health status of a ZeroPortal node. |
Get-ZeroPortalReplicationStatus | Returns the MariaDB replication status of the configured ZeroPortal node. |
Cluster topology
Get-ZeroPortalClusterNode | Lists the nodes registered in this node's HA topology. |
Remove-ZeroPortalClusterNode | Removes a node from this node's HA topology registry. |
Policy system
Get-ZeroPortalPolicy | Lists ZeroPortal policies (device/user policy XML instances). |
New-ZeroPortalPolicy | Creates a new policy from a ZpPolicy XML document. |
Set-ZeroPortalPolicy | Updates a policy (name, description, enabled, XML). Bumps the revision. |
Remove-ZeroPortalPolicy | Deletes a policy (memberships and history are removed with it). |
Get-ZeroPortalPolicyHistory | Shows the revision history of a policy. |
Restore-ZeroPortalPolicy | Rolls a policy back to a historic revision (as a new, higher revision). |
Get-ZeroPortalPolicySet | Lists policy sets with their ordered members. |
New-ZeroPortalPolicySet | Creates a policy set (organizational container, disabled until published). |
Set-ZeroPortalPolicySet | Updates a policy set (name, description, priority, enabled, default targeting). |
Remove-ZeroPortalPolicySet | Deletes a policy set (memberships removed, policies stay). |
Add-ZeroPortalPolicySetMember | Adds a policy to a set (with per-set priority). |
Set-ZeroPortalPolicySetMember | Updates priority/enabled of a set membership. |
Remove-ZeroPortalPolicySetMember | Removes a policy from a set (the policy itself stays). |
Get-ZeroPortalRoleAssignment | Lists portal role assignments (delegated administration, e.g. PolicyAdmin). |
Add-ZeroPortalRoleAssignment | Assigns an AD group (or SID) to a portal role. Members of a PolicyAdmin group may manage policies without being portal full admins. |
Remove-ZeroPortalRoleAssignment | Removes a portal role assignment (by SID or resolved group name). |