在Powershell中从URL获取域名

Mik*_*e J 20 powershell

我想在这个场景中使用PowerShell删除域.从以下变量中获取"domain.com"的最有效方法是什么?

$URL = "http://www.domain.com/folder/"
Run Code Online (Sandbox Code Playgroud)

(某种类型的regex命令可以使用PowerShell将$ URL转换/剥离到$ DOMAIN)

$DOMAIN = "domain.com" #<-- taken from $URL
Run Code Online (Sandbox Code Playgroud)

我搜索过,我发现了从域中查找IP地址的结果,但我需要确定域名首先使用正则表达式(或其他方法).任何建议都很棒.

Sha*_*evy 49

尝试Uri课程:

PS> [System.Uri]"http://www.domain.com/folder/"


AbsolutePath   : /folder/
AbsoluteUri    : http://www.domain.com/folder/
LocalPath      : /folder/
Authority      : www.domain.com
HostNameType   : Dns
IsDefaultPort  : True
IsFile         : False
IsLoopback     : False
PathAndQuery   : /folder/
Segments       : {/, folder/}
IsUnc          : False
Host           : www.domain.com
Port           : 80
Query          :
Fragment       :
Scheme         : http
OriginalString : http://www.domain.com/folder/
DnsSafeHost    : www.domain.com
IsAbsoluteUri  : True
UserEscaped    : False
UserInfo       :
Run Code Online (Sandbox Code Playgroud)

并删除www前缀:

PS> ([System.Uri]"http://www.domain.com/folder/").Host -replace '^www\.'
domain.com
Run Code Online (Sandbox Code Playgroud)