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]
}
我想列出所有集合中的所有会话主机,转换为字符串。我得到这个:
$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.comforeach ($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]
}