Вставьте имя пользователя в путь к файлу Powershell - PullRequest
3 голосов
/ 29 ноября 2010

Мы пытаемся привести в порядок домашние каталоги наших пользователей и повысить производительность в Office 2007, переместив все их шаблоны в новый каталог на своем пользовательском диске (U :). Во время моих начальных тестов я могу заставить приведенный ниже скрипт работать нормально, хотя есть очевидная проблема - работать только для моего имени пользователя. Есть ли способ заставить его принять текущего пользователя? До этого было бы обработано% username% и из краткого сканирования интернета:

$[Environment]::UserName 

Должно работать. Однако я, кажется, получаю ошибки. Есть ли лучший способ добиться текущей регистрации имени пользователя в пути к файлу?

if (!(Test-Path -path '\\SERVER\PATH\TO FILES\$[Environment]::UserName\Normal\'))
{
New-Item '\\SERVER\PATH\TO FILES\$[Environment]::UserName\Normal\' -type directory
##Move-Item \\SERVER\PATH\TO FILES\$env:username\Normal.dot \\\SERVER\PATH\TO FILES\$env:username\Normal\
## Move-Item \\SERVER\PATH\TO FILES\$env:username\*.dotm \\SERVER\PATH\TO FILES\%username%\Normal\
}
else
{
"No work to do"
}

1 Ответ

5 голосов
/ 29 ноября 2010

Две проблемы.Если вы хотите, чтобы подстановка переменных / выражений происходила в строке, вам нужно использовать кавычки, а не апострофы, чтобы заключить строку.В этом случае вам также необходимо добавить несколько скобок для обозначения выражения в строке.

"\\SERVER\PATH\TO FILES\$([Environment]::UserName)\Normal\"
...