Delen via


Set-ItemProperty

Hiermee maakt of wijzigt u de waarde van een eigenschap van een item.

Syntaxis

Set-ItemProperty
   [-Path] <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <String[]>
   -InputObject <PSObject>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <String[]>
   -InputObject <PSObject>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]

Description

De cmdlet Set-ItemProperty wijzigt de waarde van de eigenschap van het opgegeven item. U kunt de cmdlet gebruiken om de eigenschappen van items vast te stellen of te wijzigen. U kunt bijvoorbeeld Set-ItemProperty gebruiken om de waarde van de eigenschap IsReadOnly- van een bestandsobject in te stellen op $True.

U gebruikt ook Set-ItemProperty om registerwaarden en -gegevens te maken en te wijzigen. U kunt bijvoorbeeld een nieuwe registervermelding toevoegen aan een sleutel en de waarde ervan vaststellen of wijzigen.

Voorbeelden

Voorbeeld 1: Een eigenschap van een bestand instellen

Met deze opdracht wordt de waarde van de eigenschap IsReadOnly van het bestand 'final.doc' ingesteld op 'true'. Er wordt pad gebruikt om het bestand op te geven, naam om de naam van de eigenschap op te geven en de parameter waarde om de nieuwe waarde op te geven.

Het bestand is een System.IO.FileInfo object en IsReadOnly is slechts een van de eigenschappen. Als u alle eigenschappen wilt zien, typt u Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.

De $true automatische variabele vertegenwoordigt een waarde van 'TRUE'. Zie about_Automatic_Variablesvoor meer informatie.

Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $true

Voorbeeld 2: Een registervermelding en -waarde maken

In dit voorbeeld ziet u hoe u Set-ItemProperty gebruikt om een nieuwe registervermelding te maken en een waarde toe te wijzen aan de vermelding. Hiermee wordt de vermelding NoOfEmployees gemaakt in de sleutel ContosoCompany in de sleutel HKLM\Software en wordt de waarde ingesteld op 823.

Omdat registervermeldingen worden beschouwd als eigenschappen van de registersleutels, die items zijn, gebruikt u Set-ItemProperty om registervermeldingen te maken en hun waarden vast te stellen en te wijzigen.

Met de eerste opdracht wordt de registervermelding gemaakt. Het maakt gebruik van Pad om het pad van het HKLM: station en de sleutel "Software\MyCompany" op te geven. De opdracht gebruikt naam om de naam van de vermelding en waarde op te geven om een waarde op te geven.

De tweede opdracht maakt gebruik van de Get-ItemProperty cmdlet om de nieuwe registervermelding te zien. Als u de Get-Item of Get-ChildItem cmdlets gebruikt, worden de vermeldingen niet weergegeven omdat het eigenschappen zijn van een sleutel, niet items of onderliggende items.

De derde opdracht wijzigt de waarde van de NoOfEmployees vermelding in 824.

U kunt ook de cmdlet New-ItemProperty gebruiken om de registervermelding en de bijbehorende waarde te maken en vervolgens Set-ItemProperty gebruiken om de waarde te wijzigen.

Typ Get-Help Get-PSDrivevoor meer informatie over het station HKLM:. Typ Get-Help Registryvoor meer informatie over het gebruik van PowerShell om het register te beheren.

Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 823
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"

PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : contosocompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 823

Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 824
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"

PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : contosocompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 824

Voorbeeld 3: Een item wijzigen met behulp van de pijplijn

Deze opdrachten laten zien hoe u een pijplijnoperator (|) gebruikt om een item naar Set-ItemPropertyte verzenden.

In het eerste deel van de opdracht wordt Get-ChildItem gebruikt om een object op te halen dat het bestand 'Weekly.txt' vertegenwoordigt. De opdracht maakt gebruik van een pijplijnoperator om het bestandsobject naar Set-ItemPropertyte verzenden. De opdracht Set-ItemProperty maakt gebruik van de parameters Name en Value om de eigenschap en de nieuwe waarde op te geven.

Deze opdracht is gelijk aan het gebruik van de parameter InputObject om het object op te geven dat Get-ChildItem ophaalt.

Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True

Parameters

-Confirm

U wordt 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

-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. De standaardwaarde is de huidige gebruiker.

Typ een gebruikersnaam, zoals 'User01' of 'Domain01\User01', of voer een PSCredential--object in, zoals een object dat is gegenereerd door de Get-Credential-cmdlet. Als u een gebruikersnaam typt, wordt u om een wachtwoord gevraagd.

Waarschuwing

Deze parameter wordt niet ondersteund door providers die zijn geïnstalleerd met Windows PowerShell.

Type:PSCredential
Position:Named
Default value:Current user
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Exclude

Hiermee geeft u de items op waarop de cmdlet niet werkt en bevat alle andere items. De waarde van deze parameter komt in aanmerking voor de parameter Path. Voer een padelement of -patroon in, zoals '*.txt'. Jokertekens zijn toegestaan.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Filter

Hiermee geeft u een filter in de indeling of taal van de provider. De waarde van deze parameter komt in aanmerking voor de parameter Path.

De syntaxis van het filter, inclusief het gebruik van jokertekens, is afhankelijk van de provider. Filters zijn efficiënter dan andere parameters, omdat de provider deze toepast wanneer de cmdlet de objecten ophaalt in plaats van PowerShell de objecten te filteren nadat ze zijn opgehaald.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

-Force

Hiermee dwingt u af dat de cmdlet een eigenschap instelt voor items die anders niet kunnen worden geopend door de gebruiker. Implementatie varieert van provider tot provider. Zie about_Providersvoor meer informatie.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Include

Hiermee geeft u alleen de items op waarop de cmdlet optreedt, die alle andere items uitsluit. De waarde van deze parameter komt in aanmerking voor de parameter Path. Voer een padelement of -patroon in, zoals '*.txt'. Jokertekens zijn toegestaan.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-InputObject

Hiermee geeft u het object met de eigenschappen die door deze cmdlet worden gewijzigd. Voer een variabele in die het object of een opdracht bevat waarmee het object wordt opgehaald.

Type:PSObject
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-LiteralPath

Hiermee geeft u een pad van de itemeigenschap. In tegenstelling tot de parameter Path, wordt de waarde van LiteralPath- exact gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat er geen tekens als escapereeksen moeten worden geïnterpreteerd.

Type:String[]
Aliassen:PSPath
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Name

Hiermee geeft u de naam van de eigenschap.

Type:String
Aliassen:PSProperty
Position:1
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-PassThru

Retourneert een object dat de itemeigenschap vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Path

Hiermee geeft u het pad van de items met de eigenschap die moet worden gewijzigd.

Type:String[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-UseTransaction

Bevat de opdracht in de actieve transactie. Deze parameter is alleen geldig wanneer een transactie wordt uitgevoerd. Zie about_Transactionsvoor meer informatie.

Type:SwitchParameter
Aliassen:usetx
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Value

Hiermee geeft u de waarde van de eigenschap.

Type:Object
Position:2
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-WhatIf

Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

PSObject

U kunt objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

None, System.Management.Automation.PSCustomObject

Met deze cmdlet wordt een PSCustomObject--object gegenereerd dat het item vertegenwoordigt dat is gewijzigd en de nieuwe eigenschapswaarde, als u de parameter PassThru- opgeeft. Anders genereert deze cmdlet geen uitvoer.

Notities

Set-ItemProperty is ontworpen om te werken met de gegevens die door elke provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u Get-PSProvider. Zie about_Providersvoor meer informatie.