Powershell и сетевые пути - PullRequest
       3

Powershell и сетевые пути

4 голосов
/ 05 января 2012

Я вызываю один из моих сценариев по сетевому пути. Скрипт в основном вызывает только другую программу и передает ей текущий каталог в качестве аргумента.

Когда я передаю $ PWD в качестве аргумента, моя программа видит путь «Microsoft.PowerShell.Core \ FileSystem :: \ my_server \ public», и он, конечно, завершается ошибкой, поскольку ожидает стандартный путь UNC.

Мое специальное решение состояло в том, чтобы просто выполнить .Replace("Microsoft.PowerShell.Core\FileSystem::", ""), и это сработало, но мне интересно, каков реальный способ преобразования пути из этого формата "powershell" в стандартный UNC.

Есть ли лучшее решение?

1 Ответ

10 голосов
/ 05 января 2012

Вместо этого используйте $pwd.ProviderPath.

PS Home:\> cd \\localhost\h$
PS FileSystem::\\localhost\h$> $pwd|fl -force *


Drive        :
Provider     : FileSystem
ProviderPath : \\localhost\h$
Path         : FileSystem::\\localhost\h$

Кроме того, есть оператор -replace, вам не обязательно нужен этот вызов метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...