String 使用根UNC目录拆分路径

String 使用根UNC目录拆分路径,string,powershell,path,unc,String,Powershell,Path,Unc,我有一个UNC路径,如下所示: \\server\folder 我只想得到服务器的路径,例如\\server。 splitpath“\\server\folder”-Parent返回”。我尝试的任何处理根的方法都失败了。 例如,获取项目“\\server”也会失败 如何从PowerShell中的\\server\\folder安全地获取\\server的路径?使用System.Uri类并查询其主机属性: $uri = new-object System.Uri("\\server\folder

我有一个UNC路径,如下所示:

\\server\folder
我只想得到服务器的路径,例如
\\server
splitpath“\\server\folder”-Parent
返回
。我尝试的任何处理根的方法都失败了。 例如,
获取项目“\\server”
也会失败


如何从PowerShell中的
\\server\\folder
安全地获取
\\server
的路径?

使用
System.Uri
类并查询其
主机属性:

$uri = new-object System.Uri("\\server\folder")
$uri.host # add "\\" in front to get exactly what you asked

注意:对于UNC路径,根目录是服务器名加上共享名部分。

使用正则表达式的示例:

$fullpath = "\\server\folder"
$parentpath = "\\" + [string]::join("\",$fullpath.Split("\")[2])
$parentpath 
\\server
'\\server\share' -replace '(?<!\\)\\\w+'

'\\server\share'-replace'(?这是服务器故障吗?不是真的,拆分路径等对格式为“\\server\folder1\folder2”的路径很好。对于UNC路径,根目录是服务器名+共享名。我喜欢在新对象上使用URI类型,但+1
$URI=[URI]“\\server\Folder”
$URI.Host
$parentPath=“\\”+[string]::join(“\”,$fullPath.Split(“\”)[2..3])