I know this is an old thread, but I came here a while ago trying to figure this out. I got close but once I got access to Gemini at work it got me over the hump where I was stuck. I needed to hook into the API to get thin client data to display on our site instead of giving people logins to WMS. Here is my code, I hope it helps you out ...
# 3. Loop through pages using the API's built-in nextLink do { Write-Host "Fetching data from: $currentUrl"
# Use Invoke-RestMethod so it automatically parses the JSON $response = Invoke-RestMethod -Uri $currentUrl -Method Get -Headers $Header
# The actual thin client data is inside the 'Members' property if ($null -ne $response.Members) { $allSystems += $response.Members }
# Look for the next page link $nextLink = $response.'Members@odata.nextLink'
if ([string]::IsNullOrWhiteSpace($nextLink)) { # If there is no next link, we are done $currentUrl = $null } else { # Combine the relative path with our base URL for the next request $currentUrl = "$baseUrl$nextLink" }
I second this -- I would like to be able to develop scripts that can utilize the API to control endpoints.
For example, utilizing the Citrix XenDesktop Monitor oData api, I could determine when an endpoint has been idle, and force/schedule reboots. We are a hospital, and there aren't convenient windows to reboot some endpoints without periodically checking to make sure it isn't in use.
Have you ever gotten information about API support that allows you to do anything? As I understand it, API support was available in 3.2, with a major upgrade in 3.5. We are running 3.3.1, and I can enable the API on the Portal Administration page, but I can't figure out how to use it.
****That link below will take you to the generic Dell API site. You MUST have or create an account to access the site, you can then search for WYSE and find the API documentation
Prerequisites
Pro license type is required to use the Wyse Management Suite APIs.
Steps
Log in as an administrator.
Go to Portal Administration > Other Settings.
Select the Enable WMS API check box.
Click Save Settings.
For information about the supported APIs and the relevant documentation, see Wyse Management Suite APIs at
https://api-marketplace.dell.com.
Jesse2026
1 Rookie
•
1 Message
0
April 8th, 2026 13:47
I know this is an old thread, but I came here a while ago trying to figure this out. I got close but once I got access to Gemini at work it got me over the hump where I was stuck. I needed to hook into the API to get thin client data to display on our site instead of giving people logins to WMS. Here is my code, I hope it helps you out ...
$headerJSON = @{ "content-type" = "application/json"; "odata" = "verbose"; "Accept" = "*/*"}
$credbody = @{
UserName = 'apiuser'
Password = 'changeme'
} | ConvertTo-Json
# 1. Authenticate and get token
$gettoken = Invoke-WebRequest -Uri "https://myinternalserver.com:443/wms-api/wms/v1/SessionService/Sessions" -Method Post -Body $credbody -Headers $headerJSON -UseBasicParsing
$authHeader = @{'X-Auth-Token' = $($gettoken.Headers.'X-Auth-Token')}
$Header = $authHeader + $headerJSON
# 2. Prepare for Pagination
$baseUrl = "https://myinternalserver.com:443/wms-api"
$currentUrl = "$baseUrl/wms/v1/Systems"
$allSystems = @()
# 3. Loop through pages using the API's built-in nextLink
do {
Write-Host "Fetching data from: $currentUrl"
# Use Invoke-RestMethod so it automatically parses the JSON
$response = Invoke-RestMethod -Uri $currentUrl -Method Get -Headers $Header
# The actual thin client data is inside the 'Members' property
if ($null -ne $response.Members) {
$allSystems += $response.Members
}
# Look for the next page link
$nextLink = $response.'Members@odata.nextLink'
if ([string]::IsNullOrWhiteSpace($nextLink)) {
# If there is no next link, we are done
$currentUrl = $null
} else {
# Combine the relative path with our base URL for the next request
$currentUrl = "$baseUrl$nextLink"
}
} while ($null -ne $currentUrl)
Write-Host "Total thin clients retrieved: $($allSystems.Count)"
# 4. Format and Output the results to HTML
# Add the <title> tag directly into the head so the browser tab displays it
$htmlHead = @"
<title>Thin Clients</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
table { border-collapse: collapse; }
th, td { border: 1px solid #dddddd; text-align: left; padding: 8px; }
th { background-color: #004B87; color: white; } /* Blue header */
tr:nth-child(even) { background-color: #f2f2f2; }
</style>
"@
# Create a visible title to sit above the table on the actual webpage
$pageTitle = "<h2>Thin Client Info</h2>"
# Expand the 'Oem' property, rename the columns to what you want, and export to HTML
$allSystems | Select-Object -ExpandProperty Oem | Select-Object `
@{Name="Group"; Expression={$_.Group}},
@{Name="Serial"; Expression={$_.Serial}},
@{Name="Name"; Expression={$_.SystemName}},
@{Name="IP"; Expression={$_.IpAdddress}},
@{Name="Model"; Expression={$_.PlatformType}},
@{Name="LastConfigTime"; Expression={$_.LastCheckinTime}},
@{Name="LastLoggedInUser"; Expression={$_.LastUser}} |
ConvertTo-Html -Head $htmlHead -PreContent $pageTitle |
Out-File D:\html\thinclients.html
Write-Host "Report generated successfully at D:\html\thinclients.html!"
(edited)
rjones82
1 Message
0
May 7th, 2018 10:00
I second this -- I would like to be able to develop scripts that can utilize the API to control endpoints.
For example, utilizing the Citrix XenDesktop Monitor oData api, I could determine when an endpoint has been idle, and force/schedule reboots. We are a hospital, and there aren't convenient windows to reboot some endpoints without periodically checking to make sure it isn't in use.
DELL-Scott H
Moderator
•
967 Posts
1
June 6th, 2019 04:00
Not available currently. It is on the roadmap for a future release, ETA unknown.
Dharma1990
2 Posts
0
June 6th, 2019 04:00
Do you have the API Documentation for the Web Service?
mafischl
2 Intern
•
56 Posts
0
September 23rd, 2019 11:00
Noted by @buffalobound in another post, the Web Service is expected to be a Pro Feature and not available in the Standard edition.
I recall that the API provided in WDM was available in the Workgroup (free) edition. This seems to be a rather greedy move on Dell's part.
DELL-Scott H
Moderator
•
967 Posts
0
February 11th, 2021 11:00
It was not added to the 3.1 release. Contact your Dell Sales Executive for estimated availability.
#IWork4Dell
Kumar_777
18 Posts
0
February 11th, 2021 11:00
API support added & document provided in WMS 3.1 ?
mdmann
11 Posts
0
March 21st, 2022 21:00
Have you ever gotten information about API support that allows you to do anything? As I understand it, API support was available in 3.2, with a major upgrade in 3.5. We are running 3.3.1, and I can enable the API on the Portal Administration page, but I can't figure out how to use it.
DELL-Scott H
Moderator
•
967 Posts
1
April 27th, 2022 06:00
From the documentation.
****That link below will take you to the generic Dell API site. You MUST have or create an account to access the site, you can then search for WYSE and find the API documentation
Prerequisites
Pro license type is required to use the Wyse Management Suite APIs.
Steps
wleebta
1 Rookie
•
3 Posts
0
April 27th, 2022 06:00
Same, unable to find github or documentation