0

我目前有一個問題,我正在嘗試通過使用此鏈接中找到的教程(http://blogs.technet.com/b/heyscriptingguy/archive/2011/07/23/use-powershell-to-modify-your-environmental-path.aspx)通過PowerShell更新系統路徑變量,但不幸的是,由於該值已經在當前用戶的路徑中,所以它有時不會做任何事情。有什麼方法可以忽略當前用戶的路徑並只設置系統?如何設置環境路徑變量忽略當前用戶的路徑變量

$AddedFolder = 'C:\Directory' 

$OldPath=(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).Path 

IF ($ENV:PATH | Select-String -SimpleMatch $AddedFolder) 
{ 
    Return ‘Folder already within $ENV:PATH' 
} 

$NewPath=$OldPath.Trim(";")+’;’+$AddedFolder 

Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH –Value $NewPath 

回答

0

檢查$OldPath代替$env:Path然後。我還建議使用分號分隔值並檢查該數組中是否包含$AddedFolder,否則如果子文件夾已列在PATH中,則可能會出現誤報。

if ($OldPath.Split(';') -contains $AddedFolder) { 
    Return 'Folder already within $ENV:PATH' 
}