如何更改与配置文件相关的路径变量?

时间:2016-10-20 12:23:46

标签: powershell

组织已更改我的“主”服务器位置并对其进行了配置,以便我无法在%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

这是在Windows 7上的PSVersion 5.0.10586.117上。

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

1 个答案:

答案 0 :(得分: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 进入AllUsersCurrentHost中的ISE配置文件

Greetz Eldo.Ob