Управление параметрами Windows Admin Center с помощью PowerShellUse PowerShell to manage Windows Admin Center settings

Если у вас есть крупная организация с несколькими серверами Windows Admin Center, вы можете использовать PowerShell, чтобы одновременно настроить список подключений и расширений на нескольких серверах.If you have a large organization with multiple Windows Admin Center servers, you can use PowerShell to configure the list of connections and extensions on multiple servers at a time.

Импорт и экспорт подключений (с тегами) с помощью PowerShellUse PowerShell to import or export your connections (with 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 using the -prune switch parameter 
Import-Connection "https://wac.contoso.com" -fileName "WAC-connections.csv" -prune

Формат CSV-файла для подключений для импортаCSV file format for importing connections

Формат CSV-файла начинается с четырех заголовков "name","type","tags","groupId", за которыми следуют соединения, каждое в новой строке.The format of the CSV file starts with the four headings "name","type","tags","groupId", followed by each connection on a new line.

name (Имя) — полное доменное имя подключенияname is the FQDN of the connection

type — это тип соединения.type is the connection type. Для соединений по умолчанию, включенных в Windows Admin Center, вы будете использовать одно из следующих.For the default connections included with Windows Admin Center, you will use one of the following:

Тип подключенияConnection type Строка подключения.Connection string
Windows ServerWindows Server msft.sme.connection-type.servermsft.sme.connection-type.server
ПК с Windows 10Windows 10 PC msft.sme.connection-type.windows-clientmsft.sme.connection-type.windows-client
Отказоустойчивый кластерFailover Cluster msft.sme.connection-type.clustermsft.sme.connection-type.cluster
Гиперконвергентный кластерHyper-Converged Cluster msft.sme.connection-type.hyper-converged-clustermsft.sme.connection-type.hyper-converged-cluster

tags (Теги) разделяются вертикальной чертой.tags are pipe-separated.

groupId используется для общих соединений.groupId is used for shared connections. Используйте значение global в этом столбце, чтобы сделать соединение общим.Use the value global in this column to make this a shared connection.

Примечание

Изменение общих подключений ограничено администраторами шлюза. Любой пользователь может использовать PowerShell для изменения списка личных подключений.Modifying the shared connections is limited to gateway administrators - any user can use PowerShell to modify their personal connection list.

Пример CSV-файла для подключений для импортаExample CSV file for importing connections

"name","type","tags","groupId"
"myServer.contoso.com","msft.sme.connection-type.server","hyperv"
"myDesktop.contoso.com","msft.sme.connection-type.windows-client","hyperv"
"teamcluster.contoso.com","msft.sme.connection-type.cluster","legacyCluster|WS2016","global"
"myHCIcluster.contoso.com,"msft.sme.connection-type.hyper-converged-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"

Подключения для импорта RDCmanImport RDCman connections

Используйте приведенный ниже сценарий для экспорта сохраненных в RDCman соединений в файл.Use the script below to export saved connections in RDCman to a file. Затем файл можно импортировать в Windows Admin Center, сохранив иерархию группирования RDCMan с помощью тегов.You can then import the file into Windows Admin Center, maintaining your RDCMan grouping hierarchy using tags. Попробуйте сами!Try it out!

  1. Скопируйте приведенный ниже код и вставьте его в сеанс PowerShell.Copy and paste the code below into your PowerShell session:

    #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"
    }
    
  2. Для создания CSV-файла, выполните приведенную ниже команду.To create a .CSV file, run the following command:

    RdgToWacCsv -RDGfilepath "path\to\myRDCManfile.rdg"
    
  3. Импортируйте полученный CSV-файл в Windows Admin Center, и вся иерархия группирования RDCMan будет представлена в списке соединений тегами.Import the resulting .CSV file in to Windows Admin Center, and all your RDCMan grouping hierarchy will be represented by tags in the connection list. Дополнительные сведения см. в разделе Use PowerShell to import or export your connections (with tags) (Использование PowerShell для импорта или экспорта подключений (с тегами)).For details, see Use PowerShell to import or export your connections (with tags).

Управление расширениями Windows Admin Center с помощью PowerShellManage Windows Admin Center extensions with 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"

Примечание

Изменять расширения Windows Admin Center с помощью PowerShell могут только администраторы шлюза.You must be gateway administrator to modify Windows Admin Center extensions with PowerShell.

Дополнительные ссылкиAdditional References