2015-12-17 5 views
0

Я пытаюсь запустить скрипт, который отображает сетевые диски при входе в систему. Как правило, я использую get-content с | convertfrom-stringdata, чтобы поместить мои параметры (букву и путь диска) в хеш.Powershell - сетевое использование не работает с переменными

Моя проблема заключается в следующем:

net use /persistent:no $driveletter $networkpath 

результатов с ошибкой. Когда я заменю $ networkpath на фактический путь (\\ server \ share \ folder), он работает.

Кто-нибудь знает, что делать там? Помощь очень ценится. Если какая-либо информация отсутствует, я добавлю ее, как только смогу!

Привет,

Blaargh

EDIT: больше кода для лучшего понимания проблемы

$hash = get-content C:\temp\file.txt | convertfrom-stringdata 
    foreach ($keys in $hash.keys) { 
    $hashtwo = $hash.$keys -split ("=") 
    net use /persistent:no $hashtwo[1] $hashtwo[0] 
} 

Мой текстовый файл выглядит следующим образом: key = \\\\server\\share\\folder =G:

+0

На самом деле не вижу проблемы с ним на поверхности. Вы уверены, что '$ networkpath' содержит то, что вы думаете, что он делает? Имеет ли место пробелы? Если вы «эхом» ~ $ networkpath ~ «' что вы получаете? – briantist

+0

'$ driveletter =" x: " ' $ networkpath = "\\ server \ share" ' ' net use/persistent: no $ driveletter $ networkpath' отлично работает и для меня – Avshalom

+0

К сожалению, это не работает , Необходимы ли котировки? Позвольте мне привести еще несколько кодов, чтобы вы поняли, где может быть проблема. – blaargh

ответ

0

PetSerAl нашел решение:

@blaargh Добавить Write-Host "'$ ($ hashtwo [1])' '$ ($ hashtwo [0])', чтобы убедиться, что переменные не имеют лишнего места где-то.

 Смежные вопросы

  • Нет связанных вопросов^_^