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