2016-10-20 2 views
0

Организация изменила мое местоположение «домашнего» сервера и настроена так, что у меня не может быть файлов в% USERPROFILE% \ Documents. Однако, когда я запускаю PowerShell, он по-прежнему указывает на предыдущий сервер для некоторых значимых переменных. Как мне это изменить?Как изменить переменные пути, связанные с профилем?

PROFILE  \\OLDSERVER\USERS\lit\My Documents\WindowsPowerShell\Microsoft.PowerShell_prof... 
PSCommandPath \\OLDSERVER\USERS\lit\My Documents\WindowsPowerShell\profile.ps1 
PSScriptRoot \\OLDSERVER\USERS\lit\My Documents\WindowsPowerShell 

Это на PSVersion 5.0.10586.117 на Windows 7.

PS H:\My Documents> $profile | get-member -type noteproperty 

Name     MemberType Definition 
----     ---------- ---------- 
AllUsersAllHosts  NoteProperty string AllUsersAllHosts=C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 
AllUsersCurrentHost NoteProperty string AllUsersCurrentHost=C:\Windows\System32\WindowsPowerShell\v1.0\Microso... 
CurrentUserAllHosts NoteProperty string CurrentUserAllHosts=\\OLDSERVER\USERS\lit\My Documents\WindowsPowe... 
CurrentUserCurrentHost NoteProperty string CurrentUserCurrentHost=\\OLDSERVER\USERS\lit\My Documents\WindowsP... 

PS H:\My Documents> "$Env:USERPROFILE, $Env:HOMEPATH" 
C:\Users\lit, \Users\lit 
+0

[about_automatic_variables] (https://technet.microsoft.com/en-us/library/hh847768 .aspx): '$ PSCommandPath' и' $ PSScriptRoot' определены в текущем скрипте. Что говорит '$ profile | get-member -type noteproperty'? – JosefZ

ответ

1

я думаю, что проблема в том, что Powershell генерирует это значение из% USERPROFILE%. Technet

Есть некоторые SO-Вопросы no-solutions-here

Но, может быть, вы можете работать вокруг. Существует

PS > $PROFILE.AllUsersCurrentHost 
C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShellISE_profile.ps1 

Может быть, вы можете изменить свои переменные с помощью $env:USERNAME или загрузки профилей на сервере.

Пример:
записи $PROFILE.CurrentUserCurrentHost += ";\\NEWSERVER\{0}\My Documents\WindowsPowerShell\Microsoft.PowerShell_prof.." -f $env:username в профиле ISE в AllUsersCurrentHost

Greetz Eldo.Ob

+0

Ничто в среде cmd.exe, включая% USERPROFILE%, относится к 'OLDSERVER'. Откуда это PowerShell? Кроме того, я хотел бы найти решение, которое будет работать для других и коллег, у которых есть другой «домашний» сервер. – lit

+0

Что говорит вам '$ env: USERPROFILE'? Или '$ env: HOMEPATH' –

+0

Или, может быть, вы нашли свой ответ здесь https://technet.microsoft.com/en-us/library/ff730964.aspx - если вы установите enviromentvariables –

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