Verwenden der PowerShell zum Verwalten von Windows Admin Center-Einstellungen
Wenn du über eine große Organisation mit mehreren Windows Admin Center-Servern verfügst, kannst du PowerShell verwenden, um die Liste der Verbindungen und Erweiterungen auf mehreren Servern gleichzeitig zu konfigurieren.
# Load the module
Import-Module "$env:ProgramFiles\windows admin center\PowerShell\Modules\ConnectionTools"
# Available cmdlets: Export-Connection, Import-Connection
# Export connections (including tags) to a .csv file
Export-Connection "https://wac.contoso.com" -fileName "WAC-connections.csv"
# Import connections (including tags) from a .csv file
Import-Connection "https://wac.contoso.com" -fileName "WAC-connections.csv"
# Import connections (including tags) from .csv files, and remove any connections that are not explicitly in the imported file using the -prune switch parameter
Import-Connection "https://wac.contoso.com" -fileName "WAC-connections.csv" -prune
Das Format der CSV-Datei beginnt mit den vier Überschriften "name","type","tags","groupId"
, gefolgt von jeder Verbindung, jeweils in einer neuen Zeile.
name ist der FQDN der Verbindung
type ist der Verbindungstyp. Für die im Windows Admin Center enthaltenen Standardverbindungen verwendest du eine der folgenden Optionen:
Verbindungstyp | Verbindungszeichenfolge |
---|---|
Windows Server | msft.sme.connection-type.server |
Failovercluster | msft.sme.connection-type.cluster |
tags werden durch den Pipe-Operator (senkrechter Strich) getrennt.
groupId wird für freigegebene Verbindungen verwendet. Verwende den Wert global
in dieser Spalte, um diese Verbindung freizugeben.
Hinweis
Das Ändern der freigegebenen Verbindungen ist auf Gatewayadministratoren beschränkt. Jeder Benutzer kann PowerShell verwenden, um seine persönliche Verbindungsliste zu ändern.
"name","type","tags","groupId"
"myServer.contoso.com","msft.sme.connection-type.server","hyperv"
"myDesktop.contoso.com","msft.sme.connection-type.windows-server","hyperv"
"teamcluster.contoso.com","msft.sme.connection-type.cluster","legacyCluster|WS2016","global"
"myHCIcluster.contoso.com,"msft.sme.connection-type.cluster","myHCIcluster|hyperv|JIT|WS2019"
"teamclusterNode.contoso.com","msft.sme.connection-type.server","legacyCluster|WS2016","global"
"myHCIclusterNode.contoso.com","msft.sme.connection-type.server","myHCIcluster|hyperv|JIT|WS2019"
Hinweis
Bei der CSV-Datei wird die Groß-/Kleinschreibung beachtet.
Verwende das folgende Skript, um gespeicherte Verbindungen in RDCman in eine Datei zu exportieren. Anschließend kannst du die Datei in Windows Admin Center importieren und dabei deine RDCMan-Gruppierungshierarchie mithilfe von Tags erhalten. Probier es aus!
Kopiere den folgenden Code, und füge ihn in die PowerShell-Sitzung ein:
#Helper function for RdgToWacCsv function AddServers { param ( [Parameter(Mandatory = $true)] [Xml.XmlLinkedNode] $node, [Parameter()] [String[]] $tags, [Parameter(Mandatory = $true)] [String] $csvPath ) if ($node.LocalName -eq 'server') { $serverName = $node.properties.name $tagString = $tags -join "|" Add-Content -Path $csvPath -Value ('"'+ $serverName + '","msft.sme.connection-type.server","'+ $tagString +'"') } elseif ($node.LocalName -eq 'group' -or $node.LocalName -eq 'file') { $groupName = $node.properties.name $tags+=$groupName $currNode = $node.properties.NextSibling while ($currNode) { AddServers -node $currNode -tags $tags -csvPath $csvPath $currNode = $currNode.NextSibling } } else { # Node type isn't relevant to tagging or adding connections in WAC } return } <# .SYNOPSIS Convert an .rdg file from Remote Desktop Connection Manager into a .csv that can be imported into Windows Admin Center, maintaining groups via server tags. This will not modify the existing .rdg file and will create a new .csv file .DESCRIPTION This converts an .rdg file into a .csv that can be imported into Windows Admin Center. .PARAMETER RDGfilepath The path of the .rdg file to be converted. This file will not be modified, only read. .PARAMETER CSVdirectory Optional. The directory you wish to export the new .csv file. If not provided, the new file is created in the same directory as the .rdg file. .EXAMPLE C:\PS> RdgToWacCsv -RDGfilepath "rdcmangroup.rdg" #> function RdgToWacCsv { param( [Parameter(Mandatory = $true)] [String] $RDGfilepath, [Parameter(Mandatory = $false)] [String] $CSVdirectory ) [xml]$RDGfile = Get-Content -Path $RDGfilepath $node = $RDGfile.RDCMan.file if (!$CSVdirectory){ $csvPath = [System.IO.Path]::GetDirectoryName($RDGfilepath) + [System.IO.Path]::GetFileNameWithoutExtension($RDGfilepath) + "_WAC.csv" } else { $csvPath = $CSVdirectory + [System.IO.Path]::GetFileNameWithoutExtension($RDGfilepath) + "_WAC.csv" } New-item -Path $csvPath Add-Content -Path $csvPath -Value '"name","type","tags"' AddServers -node $node -csvPath $csvPath Write-Host "Converted $RDGfilepath `nOutput: $csvPath" }
Um eine CSV-Datei zu erstellen, führst du den folgenden Befehl aus:
RdgToWacCsv -RDGfilepath "path\to\myRDCManfile.rdg"
Importiere die resultierende CSV-Datei in Windows Admin Center, und deine gesamte RDCMan-Gruppierungshierarchie wird durch Tags in der Verbindungsliste dargestellt. Details findest du unter Verwenden von PowerShell zum Importieren oder Exportieren deiner Verbindungen (mit Tags).
# Add the module to the current session
Import-Module "$env:ProgramFiles\windows admin center\PowerShell\Modules\ExtensionTools"
# Available cmdlets: Get-Feed, Add-Feed, Remove-Feed, Get-Extension, Install-Extension, Uninstall-Extension, Update-Extension
# List feeds
Get-Feed "https://wac.contoso.com"
# Add a new extension feed
Add-Feed -GatewayEndpoint "https://wac.contoso.com" -Feed "\\WAC\our-private-extensions"
# Remove an extension feed
Remove-Feed -GatewayEndpoint "https://wac.contoso.com" -Feed "\\WAC\our-private-extensions"
# List all extensions
Get-Extension "https://wac.contoso.com"
# Install an extension (locate the latest version from all feeds and install it)
Install-Extension -GatewayEndpoint "https://wac.contoso.com" "msft.sme.containers"
# Install an extension (latest version from a specific feed, if the feed is not present, it will be added)
Install-Extension -GatewayEndpoint "https://wac.contoso.com" "msft.sme.containers" -Feed "https://aka.ms/sme-extension-feed"
# Install an extension (install a specific version)
Install-Extension "https://wac.contoso.com" "msft.sme.certificate-manager" "0.133.0"
# Uninstall-Extension
Uninstall-Extension "https://wac.contoso.com" "msft.sme.containers"
# Update-Extension
Update-Extension "https://wac.contoso.com" "msft.sme.containers"
Hinweis
Du musst Gatewayadministrator sein, um Windows Admin Center-Erweiterungen mit PowerShell zu ändern.