永久PowerShell变量

时间:2012-01-13 17:40:56

标签: variables powershell permanent

有没有办法在PowerShell中定义变量,所以当我打开一个新的PowerShell窗口时,它会保持相同的值?

我需要这个变量来保持它的价值,因为我不时需要重新启动我的服务器,而且我不想丢失这些值。

5 个答案:

答案 0 :(得分:5)

存储:

$variable|export-clixml -path $Location

要检索:

$variable = import-clixml -path $Location

如果你想要它,可以把它放在一个函数中,例如:

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

$ location显然包含文件系统中您要存储变量的位置。

答案 1 :(得分:4)

您可以将数据存储在PowerShell Profile

答案 2 :(得分:2)

考虑使用环境变量。

答案 3 :(得分:1)

您是否考虑过存储变量的其他替代来源? PowerShell中的变量通常只有PowerShell会话本身才会持久存在。但是,PowerShell可以轻松查询其他几个源,这些源会持续更长时间。特别是注册表和文件系统。

对于要在重新启动时保留的变量,我会将其存储在注册表中,然后使用PowerShell查询该值(可能是会话变量中的缓存)。

答案 4 :(得分:1)

变量是一个容器,您可以创建一个告诉powershell您希望该容器成为一个文件。     $ {c:\ variableToKeep.txt} ='我要保留此值'

每次您想获取内部值时,只需调用变量     $ {c:\ variableToKeep.txt}

您可以将此文件放在共享文件夹中或在计算机之间复制,并且可以在任何计算机上读写该变量。