Freigeben über


Verwenden von PowerShell zum Verwalten von Windows Admin Center-Einstellungen

Wenn Sie über eine große Organisation mit mehreren Windows Admin Center-Servern verfügen, können Sie powerShell verwenden, um die Liste der Verbindungen und Erweiterungen auf mehreren Servern gleichzeitig zu konfigurieren.

Verwenden von PowerShell zum Importieren oder Exportieren Ihrer Verbindungen (mit Tags)

# 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 by using the -prune switch parameter 
Import-Connection "https://wac.contoso.com" -fileName "WAC-connections.csv" -prune

CSV-Dateiformat für das Importieren von Verbindungen

Das Format der CSV-Datei beginnt mit den folgenden vier Überschriften, gefolgt von jeder Verbindung in einer neuen Zeile.

  • name: Der FQDN der Verbindung.

  • type: Der Verbindungstyp. Verwenden Sie für die in Windows Admin Center enthaltenen Standardverbindungen eine der folgenden Zeichenfolgen:

    Verbindungsart Verbindungszeichenfolge
    Windows Server msft.sme.connection-type.server
    Failovercluster msft.sme.connection-type.cluster
  • tags: Pipetrennte Tags.

  • groupId: Die Spalte für geteilte Verbindungen. Verwenden Sie den Wert global in dieser Spalte, um eine gemeinsame Verbindung herzustellen.

Anmerkung

Das Ändern der freigegebenen Verbindungen ist auf Gatewayadministratoren beschränkt. Jeder Benutzer kann PowerShell verwenden, um seine persönliche Verbindungsliste zu ändern.

Beispiel für eine CSV-Datei für das Importieren von Verbindungen

"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"

Anmerkung

Bei der CSV-Datei wird die Groß-/Kleinschreibung beachtet.

Importieren von RDCMan-Verbindungen

Verwenden Sie das folgende Skript, um gespeicherte Verbindungen in RDCMan- in eine Datei zu exportieren. Anschließend können Sie die Datei in Windows Admin Center importieren und ihre RDCMan-Gruppierungshierarchie mithilfe von Tags verwalten.

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in Ihre 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 Windows Admin Center
     }
     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 want to export the new .csv file. If it's 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"
    }
    
  2. Führen Sie zum Erstellen einer CSV-Datei den folgenden Befehl aus:

    RdgToWacCsv -RDGfilepath "path\to\myRDCManfile.rdg"
    
  3. Importieren Sie die resultierende CSV-Datei in Windows Admin Center. Tags in der Verbindungsliste stellen Ihre RDCMan-Gruppierungshierarchie dar.

Verwalten von Windows Admin Center-Erweiterungen mit PowerShell

# 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"

Anmerkung

Sie müssen Gatewayadministrator sein, um Windows Admin Center-Erweiterungen mit PowerShell zu ändern.

Weitere Verweise