← Back to list

PSWorkspaceOneAccess: a practical PowerShell module for Omnissa Workspace ONE Access API work

I do a lot of automation around Omnissa Workspace ONE Access, and I wanted a small, reusable PowerShell module that takes care of the…

Stefaan Dewulf · 2025-12-24 09:18 · 0 claps · 1.2 min read
#omnissa #workspace-one #workspace-one-access #powershell
Open on Medium ↗
Wiki topics: 🔭 · Astronomy & Space

PSWorkspaceOneAccess: a practical PowerShell module for Omnissa Workspace ONE Access API work

I do a lot of automation around Omnissa Workspace ONE Access, and I wanted a small, reusable PowerShell module that takes care of the “boring” parts: getting an OAuth token and calling the API in a consistent way.

That’s what PSWorkspaceOneAccess is: a collection of PowerShell functions to authenticate and perform common Workspace ONE Access operations (users, directories, policies, audit, web apps, magic token).

What’s in the module

The module exposes a set of cmdlets, including:

Authentication / token

Open-WS1AccessConnection (client credentials → access token) Get-WS1MagicToken, Reset-WS1MagicToken, Remove-WS1MagicToken

Users

Get-WS1User, Get-WS1UserByUsername Add-WS1User, Update-WS1User, Remove-WS1User Add-WS1ADUser, Update-WS1ADUser

Directories

Get-WS1Directory, Get-WS1DirectoryById Sync-WS1Directory

Policies / Auth methods / Audit / Web apps

Get-WS1PolicyList Get-WS1AuthenticationMethods Get-WS1AuditInformation, Get-WS1AuditReport Get-WS1WebApps, Get-WS1WebAppAssignments

Install the module

Option 1 — Install from PowerShell Gallery

Install-Module -Name PSWorkspaceOneAccess -Scope CurrentUser

Option 2 — Import directly from your git checkout

Import-Module /path/to/PSWorkspaceOneAccess/PSWorkspaceOneAccess.psd1

The basic pattern: authenticate once, reuse the token

Most functions follow the same model:

  1. Get an access token once using Open-WS1AccessConnection
  2. Pass -AccessURL and -AccessToken to other cmdlets

Example:

# Load your credentials however you prefer
. "$PSScriptRoot/Private/credentials.ps1"

if ([string]::IsNullOrEmpty($accessToken)) {
  $accessToken = Open-WS1AccessConnection -ClientId $clientId -ClientSecret $clientSecret -AccessURL $accessURL
}

$policies = Get-WS1PolicyList -AccessURL $accessURL -AccessToken $accessToken
"Policy count: {0}" -f $policies.Count

$authMethods = Get-WS1AuthenticationMethods -AccessURL $accessURL -AccessToken $accessToken

$user = Get-WS1UserByUsername -AccessURL $accessURL -AccessToken $accessToken -Username "rsmoot"

What each parameter typically represents -AccessURL: your Workspace ONE Access base URL (tenant URL) -ClientId / -ClientSecret: OAuth client credentials -AccessToken: the bearer token returned by Open-WS1AccessConnection

You can find the PSWorkspaceOneAccess module on GitHub and in the PowerShell Gallery: • GitHub repository: https://github.com/sdewyser/PSWorkspaceOneAccess • PowerShell Gallery: https://www.powershellgallery.com/packages/PSWorkspaceOneAccess/1.0.0


메타데이터
post_id
e8f295e233e3
slug
psworkspaceoneaccess-a-practical-powershell-module-for-omnissa-workspace-one-access-api-work-e8f295e233e3
url
https://medium.com/@dewyser/psworkspaceoneaccess-a-practical-powershell-module-for-omnissa-workspace-one-access-api-work-e8f295e233e3
canonical_url
https://medium.com/@dewyser/psworkspaceoneaccess-a-practical-powershell-module-for-omnissa-workspace-one-access-api-work-e8f295e233e3
author_url
https://medium.com/@dewyser
status
ok
fetched_at
2026-07-14 22:43:35