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]
[<CommonParameters>]
Set-ItemProperty
[-Path] <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
[-Path] <string[]>
[-Name] <string>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-ItemProperty
[-Path] <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-ItemProperty
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Description
De Set-ItemProperty
cmdlet 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 Set-ItemProperty
bijvoorbeeld de waarde van de eigenschap IsReadOnly van een bestandsobject instellen op $True
.
U gebruikt Set-ItemProperty
ook voor het maken en wijzigen van registerwaarden en -gegevens.
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 stelt u de waarde van de eigenschap IsReadOnly van het bestand 'final.doc' in op 'true'. Het maakt gebruik van Pad om het bestand, de naam op te geven om de naam van de eigenschap en de parameter Waarde op te geven 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 Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property
u .
De $true
automatische variabele vertegenwoordigt een waarde van 'TRUE'. Zie about_Automatic_Variables voor 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 Set-ItemProperty
u een nieuwe registervermelding maakt en een waarde aan de vermelding toewijst. De vermelding 'NoOfEmployees' wordt gemaakt in de sleutel ContosoCompany in HKLM\Software
de sleutel en stelt de waarde ervan in op 823.
Omdat registervermeldingen worden beschouwd als eigenschappen van de registersleutels, die items zijn, gebruikt Set-ItemProperty
u registervermeldingen te maken en om hun waarden vast te stellen en te wijzigen.
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
Met de eerste opdracht wordt de registervermelding gemaakt.
Het gebruikt Pad om het pad van het HKLM:
station en de Software\MyCompany
sleutel 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 ze eigenschappen zijn van een sleutel, niet items of onderliggende items.
Met de derde opdracht wordt de waarde van de vermelding NoOfEmployees gewijzigd in 824.
U kunt de New-ItemProperty
cmdlet ook gebruiken om de registervermelding en de bijbehorende waarde te maken en vervolgens te gebruiken Set-ItemProperty
om de waarde te wijzigen.
Typ voor meer informatie over het HKLM:
station Get-Help Get-PSDrive
.
Typ voor meer informatie over het gebruik van PowerShell voor het beheren van het register Get-Help Registry
.
Voorbeeld 3: Een item wijzigen met behulp van de pijplijn
In dit voorbeeld wordt het Get-ChildItem
weekly.txt
bestand opgeslagen. Het bestandsobject wordt doorgesluisd naar Set-ItemProperty
. De Set-ItemProperty
opdracht gebruikt de parameters Naam en Waarde om de eigenschap en de nieuwe waarde op te geven.
Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True
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 |
-Credential
Notitie
Deze parameter wordt niet ondersteund door providers die zijn geïnstalleerd met PowerShell. Als u een andere gebruiker wilt imiteren of uw referenties wilt verhogen bij het uitvoeren van deze cmdlet, gebruikt u Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Exclude
Hiermee geeft u, als een tekenreeksmatrix, een item of items op die door deze cmdlet worden uitgesloten in 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. De parameter Uitsluiten is alleen van kracht wanneer de opdracht de inhoud van een item bevat, zoals C:\Windows\*
, waarbij het jokerteken de inhoud van de C:\Windows
map aangeeft.
Type: | String[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | True |
-Filter
Hiermee geeft u een filter op om de path-parameter te kwalificeren. De FileSystem-provider is de enige geïnstalleerde PowerShell-provider die ondersteuning biedt voor het gebruik van filters. U vindt de syntaxis voor de bestandssysteemfiltertaal in about_Wildcards. 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. De implementatie verschilt per provider. Zie about_Providers voor meer informatie.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Include
Hiermee geeft u, als tekenreeksmatrix, een item of items op die deze cmdlet in de bewerking bevat. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of patroon in, zoals "*.txt"
. Jokertekens zijn toegestaan. De parameter Opnemen is alleen van kracht wanneer de opdracht de inhoud van een item bevat, zoals C:\Windows\*
, waarbij het jokerteken de inhoud van de C:\Windows
map aangeeft.
Type: | String[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | True |
-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 naar een of meer locaties. De waarde van LiteralPath wordt 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.
Zie about_Quoting_Rules voor meer informatie.
Type: | String[] |
Aliassen: | PSPath, LP |
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. Jokertekens zijn toegestaan.
Type: | String[] |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | True |
-Type
Dit is een dynamische parameter die beschikbaar wordt gesteld door de registerprovider . De registerprovider en deze parameter zijn alleen beschikbaar in Windows.
Hiermee geeft u het type eigenschap op dat door deze cmdlet wordt toegevoegd. De aanvaardbare waarden voor deze parameter zijn:
String
: Hiermee geeft u een tekenreeks met null-beëindiging op. Wordt gebruikt voor REG_SZ waarden.ExpandString
: Hiermee geeft u een door null beëindigde tekenreeks op die niet-uitgevouwen verwijzingen bevat naar omgevingsvariabelen die worden uitgevouwen wanneer de waarde wordt opgehaald. Wordt gebruikt voor REG_EXPAND_SZ waarden.Binary
: Hiermee geeft u binaire gegevens in elke vorm. Wordt gebruikt voor REG_BINARY waarden.DWord
: Hiermee geeft u een 32-bits binair getal. Wordt gebruikt voor REG_DWORD waarden.MultiString
: Hiermee geeft u een matrix van door null beëindigde tekenreeksen op die zijn beëindigd door twee null-tekens. Wordt gebruikt voor REG_MULTI_SZ waarden.Qword
: Hiermee geeft u een 64-bits binair getal. Wordt gebruikt voor REG_QWORD waarden.Unknown
: Geeft een niet-ondersteund registergegevenstype aan, zoals REG_RESOURCE_LIST waarden.
Type: | RegistryValueKind |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
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
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 objecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert standaard geen uitvoer.
Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een PSCustomObject-object dat het item vertegenwoordigt dat is gewijzigd en de nieuwe eigenschapswaarde.
Notities
PowerShell bevat de volgende aliassen voor Set-ItemProperty
:
- Alle platforms:
sp
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 Get-PSProvider
u . Zie about_Providers voor meer informatie.