New-Variable
Hiermee wordt een nieuwe variabele gemaakt.
Syntaxis
New-Variable
[-Name] <String>
[[-Value] <Object>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Visibility <SessionStateEntryVisibility>]
[-Force]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
De New-Variable
cmdlet maakt een nieuwe variabele in PowerShell. U kunt een waarde toewijzen aan de variabele tijdens het maken of de waarde toewijzen of wijzigen nadat deze is gemaakt.
U kunt de parameters gebruiken om New-Variable
de eigenschappen van de variabele in te stellen, het bereik van een variabele in te stellen en te bepalen of variabelen openbaar of privé zijn.
Normaal gesproken maakt u een nieuwe variabele door de naam van de variabele en de bijbehorende waarde te typen, zoals $Var = 3
, maar u kunt de cmdlet gebruiken om de New-Variable
parameters te gebruiken.
Voorbeelden
Voorbeeld 1: Een variabele maken
New-Variable days
Met deze opdracht maakt u een nieuwe variabele met de naam dagen. U hoeft de parameter Name niet te typen.
Voorbeeld 2: Een variabele maken en deze een waarde toewijzen
New-Variable -Name "zipcode" -Value 98033
Met deze opdracht maakt u een variabele met de naam postcode en wijst u deze toe aan de waarde 98033.
Voorbeeld 3: Een variabele maken met de optie ReadOnly
PS C:\> New-Variable -Name Max -Value 256 -Option ReadOnly
PS C:\> New-Variable -Name max -Value 1024
New-Variable : A variable with name 'max' already exists.
At line:1 char:1
+ New-Variable -Name max -Value 1024
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (max:String) [New-Variable], SessionStateException
+ FullyQualifiedErrorId : VariableAlreadyExists,Microsoft.PowerShell.Commands.NewVariableCommand
PS C:\> New-Variable -Name max -Value 1024 -Force
In dit voorbeeld ziet u hoe u de ReadOnly
optie New-Variable
kunt gebruiken om een variabele te beveiligen tegen overschrijven.
Met de eerste opdracht maakt u een nieuwe variabele met de naam Max en stelt u de waarde in op 256. De parameter Option wordt gebruikt met een waarde van ReadOnly
.
Met de tweede opdracht wordt geprobeerd een tweede variabele met dezelfde naam te maken. Met deze opdracht wordt een fout geretourneerd, omdat de optie alleen-lezen is ingesteld op de variabele.
De derde opdracht gebruikt de parameter Force om de alleen-lezenbeveiliging voor de variabele te overschrijven. In dit geval slaagt de opdracht om een nieuwe variabele met dezelfde naam te maken.
Voorbeeld 4: Meerdere opties toewijzen aan een variabele
New-Variable -Name 'TestVariable' -Value 'Test Value' -Option AllScope,Constant
In dit voorbeeld wordt een variabele gemaakt en worden de AllScope
en Constant
opties toegewezen, zodat de variabele beschikbaar is in het huidige bereik en nieuwe bereiken die zijn gemaakt en die niet kunnen worden gewijzigd of verwijderd.
Voorbeeld 5: Een privévariabele maken
Met deze opdracht wordt het gedrag van een privévariabele in een module gedemonstreert. De module bevat de cmdlet, die een privévariabele heeft met de Get-Counter
naam Counter. De opdracht gebruikt de parameter Zichtbaarheid met de waarde Private om de variabele te maken.
PS C:\> New-Variable -Name counter -Visibility Private
#Effect of private variable in a module.
PS C:\> Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
PS C:\> $counter
"Cannot access the variable '$counter' because it is a private variable"
At line:1 char:1
+ $counter
+ ~~~~~~~~
+ CategoryInfo : PermissionDenied: (counter:String) [], SessionStateException
+ FullyQualifiedErrorId : VariableIsPrivate
PS C:\> Get-Counter
Name Value
---- -----
Counter1 3.1415
...
In de voorbeelduitvoer ziet u het gedrag van een privévariabele. De gebruiker die de module heeft geladen, kan de waarde van de tellervariabele niet weergeven of wijzigen, maar de tellervariabele kan worden gelezen en gewijzigd door de opdrachten in de module.
Voorbeeld 6: Een variabele maken met een spatie
In dit voorbeeld ziet u dat variabelen met spaties kunnen worden gemaakt. De variabelen kunnen worden geopend met behulp van de Get-Variable
cmdlet of rechtstreeks door een variabele met accolades te scheiden.
PS C:\> New-Variable -Name 'with space' -Value 'abc123xyz'
PS C:\> Get-Variable -Name 'with space'
Name Value
---- -----
with space abc123xyz
PS C:\> ${with space}
abc123xyz
Parameters
-Confirm
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Description
Hiermee geeft u een beschrijving van de variabele.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Force
Geeft aan dat de cmdlet een variabele met dezelfde naam maakt als een bestaande alleen-lezenvariabele.
Standaard kunt u een variabele overschrijven, tenzij de variabele een optiewaarde heeft van ReadOnly
of Constant
. Zie de optieparameter voor meer informatie.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Name
Hiermee geeft u een naam voor de nieuwe variabele.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Option
Hiermee geeft u de waarde van de eigenschap Options van de variabele. De aanvaardbare waarden voor deze parameter zijn:
None
- Hiermee stelt u geen opties in.None
is de standaardwaarde.ReadOnly
- Kan worden verwijderd. Kan niet worden gewijzigd, behalve met behulp van de parameter Force .Private
- De variabele is alleen beschikbaar in het huidige bereik.AllScope
- De variabele wordt gekopieerd naar nieuwe bereiken die worden gemaakt.Constant
- Kan niet worden verwijderd of gewijzigd.Constant
is alleen geldig wanneer u een variabele maakt. U kunt de opties van een bestaande variabele niet wijzigen inConstant
.
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 u kunt ook tabvoltooiing gebruiken voor de waarden.
Als u de eigenschap Opties van alle variabelen in de sessie wilt zien, typt Get-Variable | Format-Table -Property name, options -AutoSize
u .
Type: | ScopedItemOptions |
Geaccepteerde waarden: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-PassThru
Retourneert een object dat het item aangeeft waarmee u werkt. Deze cmdlet genereert standaard geen uitvoer.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Scope
Hiermee geeft u het bereik van de nieuwe variabele. De aanvaardbare waarden voor deze parameter zijn:
Global
- Variabelen die in het globale bereik zijn gemaakt, zijn overal toegankelijk in een PowerShell-proces.Local
- Het lokale bereik verwijst naar het huidige bereik. Dit kan elk bereik zijn, afhankelijk van de context.Local
is het standaardbereik wanneer de bereikparameter niet is opgegeven.Script
- Variabelen die in het scriptbereik zijn gemaakt, zijn alleen toegankelijk binnen het scriptbestand of de module waarin ze zijn gemaakt.- Een getal ten opzichte van het huidige bereik (0 tot het aantal bereiken, waarbij 0 het huidige bereik is, 1 het bovenliggende bereik, 2 het bovenliggende bereik, enzovoort). Negatieve getallen kunnen niet worden gebruikt.
Notitie
De parameter accepteert ook de waarde van Private
. Private
is eigenlijk geen bereik, maar een optionele instelling voor een variabele. Als u de Private
waarde met deze cmdlet gebruikt, wordt de zichtbaarheid van de variabele echter niet gewijzigd. Zie about_Scopes voor meer informatie.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Value
Hiermee geeft u de initiële waarde van de variabele.
Type: | Object |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Visibility
Bepaalt of de variabele zichtbaar is buiten de sessie waarin deze is gemaakt. Deze parameter is ontworpen voor gebruik in scripts en opdrachten die aan andere gebruikers worden geleverd. De aanvaardbare waarden voor deze parameter zijn:
Public
- De variabele is zichtbaar.Public
is de standaardwaarde.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 het Variable:
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 |
Geaccepteerde waarden: | Public, Private |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-WhatIf
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt elk object doorsluisen naar New-Variable
.
Uitvoerwaarden
None
Deze cmdlet retourneert standaard geen uitvoer.
Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een PSVariable-object dat de nieuwe variabele vertegenwoordigt.
Notities
PowerShell bevat de volgende aliassen voor New-Variable
:
- Alle platforms:
nv