У меня есть UNC-путь
$path = "\\ad.testxyz.com\corp\technology\software\data\iso"
Мне нужно применить разрешения для следующих путей:
\\ad.testxyz.com\corp\technology\software\data
\\ad.testxyz.com\corp\technology\software
\\ad.testxyz.com\corp\technology
И я не хочу ничего делать с \\ ad. testxyz.com \ corp \ technology или выше.
Вот мой код. Это «работает», но я столкнулся с проблемой с каталогами, в которых есть пробелы.
$path = "\\ad.domain.com\corp\technology\test\information\software"
#$path = "\\ad.domain.com\corp\technology\payer information\extracts\item load"
# Split string by "\", remove empty elements
$root = (($path.Split("\")).Split('',[System.StringSplitOptions]::RemoveEmptyEntries))
# Recursively list all top level folders in [path]. (Excludes DFS root)
for ($i=2; $i -lt $root.Length - 1; $i++) {
# Recursively build every directory up the tree
$leaf = "\" + $root[$i]
$branch += $leaf
$trunk = "\\" + $root[0] + "\" + $root[1] + $branch
# do work
Write-Host $trunk
}
Выходы:
\\ad.domain.com\corp\technology
\\ad.domain.com\corp\technology\test
\\ad.domain.com\corp\technology\test\information
Но если я попытаюсь использовать путь спробелы в нем, я получаю следующее
\\ad.domain.com\corp\technology
\\ad.domain.com\corp\technology\payer
\\ad.domain.com\corp\technology\payer\information
\\ad.domain.com\corp\technology\payer\information\extracts
\\ad.domain.com\corp\technology\payer\information\extracts\item