Постоянная переменная PowerShell - PullRequest
5 голосов
/ 13 января 2012

Есть ли способ определить переменную в PowerShell, чтобы при открытии нового окна PowerShell она сохраняла то же значение?

Мне понадобится эта переменная, чтобы сохранить ее значение, потому что мне потребуется время от времени перезагружать мой сервер, и я не хочу терять эти значения.

Ответы [ 5 ]

5 голосов
/ 13 января 2012

Для хранения:

$variable|export-clixml -path $Location

Для получения:

$variable = import-clixml -path $Location

Поместите это в функцию, если хотите, что-то вроде:

function LoadTHEvariable($location)
{
    $global:variable = import-clixml -path $Location
}

$location, очевидно, содержит место в файловой системе, где вы хотите хранить переменную.

4 голосов
/ 13 января 2012

Вы можете хранить свои данные в PowerShell Профиль .

2 голосов
/ 14 января 2012

Рассмотрите возможность использования переменной окружения.

1 голос
/ 28 декабря 2018

Переменная - это контейнер, и вы можете создать рассказать PowerShell, что вы хотите, чтобы этот контейнер был файлом.$ {c: \ variableToKeep.txt} = 'Я хочу сохранить это значение'

Каждый раз, когда вы хотите получить значение внутри, просто вызывайте переменную $ {c: \ variableToKeep.txt}

Вы можете поместить этот файл в общую папку или скопировать его между компьютерами, а также читать и записывать эту переменную на любом компьютере.

1 голос
/ 13 января 2012

Рассматривали ли вы другие альтернативные источники для хранения переменной? Как правило, переменные в PowerShell сохраняются только в течение самого сеанса PowerShell. Однако есть несколько других источников, которые PowerShell может легко запрашивать, которые должны сохраняться дольше. В частности реестр и файловая система.

Для переменной, которая должна сохраняться при перезагрузках, я бы сохранял ее в реестре, а затем использовал PowerShell для запроса этого значения (возможно, кеширования в переменной сеанса).

...