Domanda

C'è un modo per definire una variabile in PowerShell, quindi quando apro una nuova finestra di PowerShell, manterrà lo stesso valore?

Avrò bisogno di questa variabile per mantenere il suo valore, perché dovrò riavviare il mio server ogni tanto e non voglio perdere questi valori.

È stato utile?

Soluzione

Hai considerato altre fonti alternative per conservare la variabile? Le variabili in PowerShell sono generalmente pensate per persistere solo fino alla stessa sessione di PowerShell. Tuttavia ci sono molte altre fonti che PowerShell può facilmente interrogare che dovrebbero persistere più a lungo. In particolare il registro e il file system.

Per una variabile destinata a persistere attraverso i riavvii, lo memorizzerei nel registro e quindi userei PowerShell per interrogare quel valore (forse cache in una variabile di sessione).

Altri suggerimenti

Immagazzinare:

$variable|export-clixml -path $Location

Recuperare:

$variable = import-clixml -path $Location

Mettilo in una funzione se lo vuoi, qualcosa del tipo:

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

La posizione $ ovviamente contiene il posto nel filesystem dove si desidera archiviare la variabile.

Potresti archiviare i tuoi dati nel tuo PowerShell Profilo.

Prendi in considerazione l'utilizzo di una variabile di ambiente.

Una variabile è un contenitore e puoi creare PowerShell che si desidera che quel contenitore sia un file. $ {c: variabletokeep.txt} = 'voglio mantenere questo valore'

Ogni volta che si desidera ottenere il valore all'interno, chiama la variabile $ {c: variabletokeep.txt}

È possibile inserire questo file in una cartella azionaria o copiarlo tra le macchine e puoi leggere e scrivere quella variabile su qualsiasi macchina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top