Постоянная переменная PowerShell
-
28-10-2019 - |
Вопрос
Есть ли способ определить переменную в PowerShell, поэтому, когда я открываю новое окно PowerShell, она сохранит то же значение?
Мне понадобится эта переменная, чтобы сохранить его значение, потому что мне нужно время от времени перезагрузить мой сервер, и я не хочу терять эти значения.
Решение
Вы рассматривали другие альтернативные источники для хранения переменной? Переменные в PowerShell, как правило, предназначены для сохранения только до самого сессии PowerShell. Однако есть несколько других источников, которые PowerShell может легко запросить, которые призваны сохраняться дольше. В частности, реестр и файловая система.
Для переменной, предназначенной для продолжения перезагрузки, я хранил бы ее в реестре, а затем использовал PowerShell, чтобы запросить это значение (возможно, кэш в переменной сеанса).
Другие советы
Хранить:
$variable|export-clixml -path $Location
Чтобы получить:
$variable = import-clixml -path $Location
Поместите это в функцию, если хотите, что -то вроде:
function LoadTHEvariable($location)
{
$global:variable = import-clixml -path $Location
}
$ Location, очевидно, содержит место в файловой системе, где вы хотите сохранить переменную.
Вы можете хранить свои данные в своей PowerShell Профиль.
Рассмотрите возможность использования переменной среды.
Переменная - это контейнер, и вы можете создать рассказ PowerShell, что вы хотите, чтобы этот контейнер был файлом. $ {c: variabletokeep.txt} = 'Я хочу сохранить это значение'
Каждый раз, когда вы хотите получить значение внутри, просто вызовите переменную $ {c: variabletokeep.txt}
Вы можете поместить этот файл в папку Share или скопировать его между машинами, и вы можете прочитать и написать эту переменную на любой машине.