我一直在寻找一段简短的代码来做这件事,最后我自己想出来了。以为我会分享它。
$FQDN = "madeup.name.domain.co.in"
我需要结果为name.domain.co.in
答案 0 :(得分:3)
可以说更清洁的解决方案
$FQDN.Substring($FQDN.IndexOf(".") + 1)
这会在第一个$FQDN
之后开始.
的子字符串。
答案 1 :(得分:2)
代码:
$hostname = $FQDN.Split('.')[0]
$Domain = $FQDN -replace "$hostname.",""
$Domain
会得到结果。
希望这有帮助
答案 2 :(得分:1)
我喜欢@Rohin Sidharth的这种方法:
$hostname = $FQDN.Split('.')[0]
$Domain = $FQDN -replace "$hostname.",""
您还可以从$ env变量中获取$ hostname:
$env:computername
如果您在相关服务器上运行,那么即使服务器的名称具有“'”,替换机制也会提供域。在它。
答案 3 :(得分:0)
如果您想获得“registrableDomain”,可以使用此功能: https://github.com/ili101/PowerShell/blob/master/Get-Domain.ps1
Get-Domain madeup.name.madeup.domain.co.in
输出:domain.co.in
答案 4 :(得分:0)
正则表达式,返回由字母,数字,“-”和“ _”组成的第一段
"made-up1.name.madeup.domain.co.in" -replace('(^[\w-_\d]+)\.(.*)','$1')
返回made-up1
带有$ 2的域名
"made-up1.name.madeup.domain.co.in" -replace('(^[\w-_\d]+)\.(.*)','$2')
返回name.madeup.domain.co.in