Powershell - 从 FQDN 中删除域名

Powershell - cut domain name from FQDN

我想列出所有集合中的所有会话主机,转换为字符串。我得到这个:

$SHs = (Get-RDSessionCollection -ConnectionBroker $CB | Select-Object -Property collectionname | ForEach-Object  -Process { Get-RDSessionHost -ConnectionBroker $CB -CollectionName $_.collectionname }) |select SessionHost  |Out-String

输出:

SessionHost                
-----------
SH1.contoso.com
SH2.contoso.com
SH3.contoso.com

现在我想从 fqdn.

中删除域名 .contoso.com
foreach ($SH in $SHs){ 

$SH = $SH.Substring(0,$SH.Length-12)
$SH
}

但输出仍然是:

SessionHost                
-----------
SH1.contoso.com
SH2.contoso.com
SH3.contoso.com

期望的输出是:

SH1
SH2
SH3

编辑:我尝试了以下代码(感谢帮助):

$SH = ($SH -split "\.")[0]

$SH = ($SH -split '\.' | Select -first 1) -join '.'

我只收到:

SH01

感谢您的帮助!

没有终端服务器来测试这实际上应该有效:

$SHs = (
    Get-RDSessionCollection -ConnectionBroker $CB | 
        Select-Object -Property collectionname | 
            ForEach-Object -Process { 
                Get-RDSessionHost -ConnectionBroker $CB -CollectionName $_.collectionname 
            }
    ) | 
    Select-Object -Property SessionHost 

foreach ($SH in $SHs.SessionHost) { 
    ($SH -split "\.")[0]
}