Set-Variable
Hiermee stelt u de waarde van een variabele in. Hiermee maakt u de variabele als er geen variabele met de aangevraagde naam bestaat.
Syntax
Set-Variable
[-Name] <String[]>
[[-Value] <Object>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Force]
[-Visibility <SessionStateEntryVisibility>]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
De Set-Variable cmdlet wijst een waarde toe aan een opgegeven variabele of wijzigt de huidige waarde. Als de variabele niet bestaat, wordt deze door de cmdlet gemaakt.
Voorbeelden
Voorbeeld 1: Een variabele instellen en de waarde ervan ophalen
Met deze opdrachten stelt u de waarde van de $desc variabele A descriptionin op en haalt u vervolgens de waarde van de variabele op.
Set-Variable -Name "desc" -Value "A description"
Get-Variable -Name "desc"
Name Value
---- -----
desc A description
Voorbeeld 2: Een globale variabele met het kenmerk Alleen-lezen instellen
In dit voorbeeld wordt een globale, alleen-lezen variabele gemaakt die alle processen op het systeem bevat en vervolgens alle eigenschappen van de variabele worden weergegeven.
Set-Variable -Name "processes" -Value (Get-Process) -Option constant -Scope global -Description "All processes" -PassThru |
Format-List -Property *
De opdracht gebruikt de Set-Variable cmdlet om de variabele te maken. De parameter PassThru wordt gebruikt om een object te maken dat de nieuwe variabele vertegenwoordigt en gebruikt de pijplijnoperator (|) om het object door te geven aan de Format-List cmdlet. De parameter Eigenschap wordt Format-List gebruikt met een waarde van alle (*) om alle eigenschappen van de zojuist gemaakte variabele weer te geven.
De waarde, (Get-Process)wordt tussen haakjes geplaatst om ervoor te zorgen dat deze wordt uitgevoerd voordat deze in de variabele wordt opgeslagen. Anders bevat de variabele de woorden Get-Process.
Voorbeeld 3: Inzicht in openbare versus privévariabelen
In dit voorbeeld ziet u hoe u de zichtbaarheid van een variabele wijzigt in Private. Deze variabele kan worden gelezen en gewijzigd door scripts met de vereiste machtigingen, maar is niet zichtbaar voor de gebruiker.
New-Variable -Name "counter" -Visibility Public -Value 26
$Counter
26
Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
Counter 26
Set-Variable -Name "counter" -Visibility Private
Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
$counter
"Cannot access the variable '$counter' because it is a private variable"
.\use-counter.ps1
#Commands completed successfully.
Met deze opdracht ziet u hoe u de zichtbaarheid van een variabele wijzigt in Privé. Deze variabele kan worden gelezen en gewijzigd door scripts met de vereiste machtigingen, maar is niet zichtbaar voor de gebruiker.
Parameters
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
| Type: | SwitchParameter |
| Aliases: | cf |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u de beschrijving van de variabele.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een matrix van items op die deze cmdlet uitsluit van de bewerking. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals *.txt.
Jokertekens zijn toegestaan.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Hiermee kunt u een variabele met dezelfde naam maken als een bestaande alleen-lezenvariabele of de waarde van een alleen-lezen variabele wijzigen.
Standaard kunt u een variabele overschrijven, tenzij de variabele een optiewaarde van ReadOnly of Constant. Zie de parameter Option voor meer informatie.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een matrix van items op die deze cmdlet bevat in de bewerking. De waarde van deze parameter komt in aanmerking voor de naamparameter . Voer een naam of naampatroon in, zoals c*. Jokertekens zijn toegestaan.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Hiermee geeft u de naam van de variabele.
| Type: | String[] |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u de waarde van de eigenschap Options van de variabele.
Geldige waarden zijn:
None: Hiermee stelt u geen opties in. (Noneis de standaardinstelling.)ReadOnly: Kan worden verwijderd. Kan niet wijzigen, behalve met behulp van de parameter Force.Constant: kan niet worden verwijderd of gewijzigd.Constantis alleen geldig wanneer u een variabele maakt. U kunt de opties van een bestaande variabele niet wijzigen inConstant.Private: De variabele is alleen beschikbaar in het huidige bereik.AllScope: De variabele wordt gekopieerd naar nieuwe bereiken die worden gemaakt.
Deze waarden worden gedefinieerd als een opsomming op basis van vlaggen. U kunt meerdere waarden combineren om meerdere vlaggen in te stellen met behulp van deze parameter. De waarden kunnen worden doorgegeven aan de parameter Option als een matrix met waarden of als een door komma's gescheiden tekenreeks van deze waarden. De cmdlet combineert de waarden met behulp van een binaire-OF-bewerking. Het doorgeven van waarden als een matrix is de eenvoudigste optie en stelt u ook in staat om tabvoltooiing te gebruiken voor de waarden.
| Type: | ScopedItemOptions |
| Accepted values: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Retourneert een object dat de nieuwe variabele vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u het bereik van de variabele. De acceptabele waarden voor deze parameter zijn:
GlobalLocalScriptPrivate- Een getal ten opzichte van het huidige bereik (0 tot en met het aantal bereiken, waarbij 0 het huidige bereik is en 1 het bovenliggende bereik is).
Local is de standaardwaarde.
Zie about_Scopes voor meer informatie.
| Type: | String |
| Position: | Named |
| Default value: | Local |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u de waarde van de variabele.
| Type: | Object |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Bepaalt of de variabele zichtbaar is buiten de sessie waarin deze is gemaakt. Deze parameter is ontworpen voor gebruik in scripts en opdrachten die worden geleverd aan andere gebruikers.
Geldige waarden zijn:
Public: De variabele is zichtbaar. (Publicis de standaardinstelling.)Private: De variabele is niet zichtbaar.
Wanneer een variabele privé is, wordt deze niet weergegeven in lijsten met variabelen, zoals variabelen die worden geretourneerd door Get-Variable, of in weergaven van de variabele: station. Opdrachten voor het lezen of wijzigen van de waarde van een privévariabele retourneren een fout. De gebruiker kan echter opdrachten uitvoeren die gebruikmaken van een privévariabele als de opdrachten zijn geschreven in de sessie waarin de variabele is gedefinieerd.
| Type: | SessionStateEntryVisibility |
| Accepted values: | Public, Private |
| Position: | Named |
| Default value: | Public |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
| Type: | SwitchParameter |
| Aliases: | wi |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Invoerwaarden
U kunt een object doorsluisen dat de waarde van de variabele aangeeft Set-Variable.
Uitvoerwaarden
None or System.Management.Automation.PSVariable
Wanneer u de PassThru-parameter gebruikt, Set-Variable genereert u een System.Management.Automation.PSVariable-object dat de nieuwe of gewijzigde variabele vertegenwoordigt.
Anders genereert deze cmdlet geen uitvoer.
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor