Set-ItemProperty
Erstellt oder ändert den Wert einer Eigenschaft eines Elements.
Syntax
propertyValuePathSet (Standard)
Set-ItemProperty
[-Path] <String[]>
[-Name] <String>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
propertyPSObjectPathSet
Set-ItemProperty
[-Path] <String[]>
-InputObject <PSObject>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
propertyValueLiteralPathSet
Set-ItemProperty
[-Name] <String>
[-Value] <Object>
-LiteralPath <String[]>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
propertyPSObjectLiteralPathSet
Set-ItemProperty
-LiteralPath <String[]>
-InputObject <PSObject>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Beschreibung
Das cmdlet Set-ItemProperty ändert den Wert der Eigenschaft des angegebenen Elements.
Mit dem Cmdlet können Sie die Eigenschaften von Elementen einrichten oder ändern.
Sie können z. B. Set-ItemProperty verwenden, um den Wert der IsReadOnly-eigenschaft eines Dateiobjekts auf $Truefestzulegen.
Sie verwenden auch Set-ItemProperty, um Registrierungswerte und -daten zu erstellen und zu ändern.
Sie können z. B. einem Schlüssel einen neuen Registrierungseintrag hinzufügen und dessen Wert einrichten oder ändern.
Beispiele
Beispiel 1: Festlegen einer Eigenschaft einer Datei
Mit diesem Befehl wird der Wert der IsReadOnly- eigenschaft der Datei "final.doc" auf "true" festgelegt. Es verwendet Path-, um die Datei anzugeben, Name, um den Namen der Eigenschaft anzugeben, und den Value Parameter, um den neuen Wert anzugeben.
Die Datei ist ein System.IO.FileInfo Objekt, und IsReadOnly ist nur eine seiner Eigenschaften.
Geben Sie Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Propertyein, um alle Eigenschaften anzuzeigen.
Die $true automatische Variable stellt den Wert "TRUE" dar.
Weitere Informationen finden Sie unter about_Automatic_Variables.
Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $true
Beispiel 2: Erstellen eines Registrierungseintrags und -werts
In diesem Beispiel wird gezeigt, wie Sie Set-ItemProperty verwenden, um einen neuen Registrierungseintrag zu erstellen und dem Eintrag einen Wert zuzuweisen.
Es erstellt den Eintrag "NoOfEmployees" im Schlüssel "ContosoCompany" im Schlüssel "HKLM\Software" und legt dessen Wert auf 823 fest.
Da Registrierungseinträge als Eigenschaften der Registrierungsschlüssel gelten, bei denen es sich um Elemente handelt, verwenden Sie Set-ItemProperty zum Erstellen von Registrierungseinträgen und zum Einrichten und Ändern ihrer Werte.
Der erste Befehl erstellt den Registrierungseintrag.
Er verwendet Pfad, um den Pfad des Laufwerks HKLM: und den Schlüssel "Software\MyCompany" anzugeben.
Der Befehl verwendet Name, um den Eintragsnamen anzugeben, und Wert-, um einen Wert anzugeben.
Der zweite Befehl verwendet das cmdlet Get-ItemProperty, um den neuen Registrierungseintrag anzuzeigen.
Wenn Sie die cmdlets Get-Item oder Get-ChildItem verwenden, werden die Einträge nicht angezeigt, da sie Eigenschaften eines Schlüssels sind, nicht elemente oder untergeordnete Elemente.
Der dritte Befehl ändert den Wert des NoOfEmployees Eintrag in 824.
Sie können auch das Cmdlet New-ItemProperty verwenden, um den Registrierungseintrag und dessen Wert zu erstellen, und dann Set-ItemProperty verwenden, um den Wert zu ändern.
Wenn Sie weitere Informationen zum HKLM: Laufwerk wünschen, geben Sie Get-Help Get-PSDriveein.
Wenn Sie weitere Informationen zur Verwendung von PowerShell zum Verwalten der Registrierung verwenden möchten, geben Sie Get-Help Registryein.
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
Beispiel 3: Ändern eines Elements mithilfe der Pipeline
Diese Befehle zeigen, wie ein Pipelineoperator (|) verwendet wird, um ein Element an Set-ItemPropertyzu senden.
Der erste Teil des Befehls dient Get-ChildItem zum Abrufen eines Objekts, das die Datei "Weekly.txt" darstellt.
Der Befehl verwendet einen Pipelineoperator, um das Dateiobjekt an Set-ItemPropertyzu senden.
Der befehl Set-ItemProperty verwendet den parameter Name und Value parameter, um die Eigenschaft und den neuen Wert anzugeben.
Dieser Befehl entspricht der Verwendung des InputObject-Parameters zum Angeben des Objekts, Get-ChildItem das abgerufen wird.
Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True
Parameter
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential--Objekt ein, z. B. ein objekt, das vom Cmdlet Get-Credential generiert wurde.
Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.
Warnung
Dieser Parameter wird von anbietern, die mit Windows PowerShell installiert sind, nicht unterstützt.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | Current user |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Exclude
Gibt die Elemente an, auf die das Cmdlet nicht reagiert, und schließt alle anderen Elemente ein. Der Wert dieses Parameters qualifiziert den parameter Path. Geben Sie ein Pfadelement oder Einmuster ein, z. B. "*.txt". Platzhalterzeichen sind zulässig.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Filter
Gibt einen Filter im Format oder in der Sprache des Anbieters an. Der Wert dieses Parameters qualifiziert den parameter Path.
Die Syntax des Filters, einschließlich der Verwendung von Wildcardzeichen, hängt vom Anbieter ab. Filter sind effizienter als andere Parameter, da der Anbieter sie anwendet, wenn das Cmdlet die Objekte abruft, anstatt dass PowerShell die Objekte nach dem Abrufen filtert.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Force
Erzwingt das Cmdlet, eine Eigenschaft für Elemente festzulegen, auf die der Benutzer andernfalls nicht zugreifen kann. Die Implementierung variiert von Anbieter zu Anbieter. Weitere Informationen finden Sie unter über_Anbieter.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Include
Gibt nur die Elemente an, auf die das Cmdlet angewendet wird, wodurch alle anderen ausgeschlossen werden. Der Wert dieses Parameters qualifiziert den parameter Path. Geben Sie ein Pfadelement oder Einmuster ein, z. B. "*.txt". Platzhalterzeichen sind zulässig.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-InputObject
Gibt das Objekt an, das über die Eigenschaften verfügt, die dieses Cmdlet ändert. Geben Sie eine Variable ein, die das Objekt enthält, oder einen Befehl, der das Objekt abruft.
Parametereigenschaften
| Typ: | PSObject |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
propertyPSObjectPathSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
propertyPSObjectLiteralPathSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-LiteralPath
Gibt einen Pfad der Elementeigenschaft an. Im Gegensatz zum Path-Parameter wird der Wert LiteralPath- genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen signalisieren PowerShell, dass keine Zeichen als Escapesequenzen interpretiert werden sollen.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | PSPath |
Parametersätze
propertyValueLiteralPathSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
propertyPSObjectLiteralPathSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Name
Gibt den Namen der Eigenschaft an.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | PSProperty |
Parametersätze
propertyValuePathSet
| Position: | 1 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
propertyValueLiteralPathSet
| Position: | 1 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-PassThru
Gibt ein Objekt zurück, das die Elementeigenschaft darstellt. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Path
Gibt den Pfad der Zu ändernden Elemente an.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
propertyValuePathSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
propertyPSObjectPathSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-UseTransaction
Enthält den Befehl in der aktiven Transaktion. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter about_Transactions.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | usetx |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Value
Gibt den Wert der Eigenschaft an.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
propertyValuePathSet
| Position: | 2 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
propertyValueLiteralPathSet
| Position: | 2 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
PSObject
Sie können Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None, System.Management.Automation.PSCustomObject
Dieses Cmdlet generiert ein PSCustomObject-Objekt , das das geänderte Element und seinen neuen Eigenschaftswert darstellt, wenn Sie den PassThru-Parameter angeben. Andernfalls generiert dieses Cmdlet keine Ausgabe.
Hinweise
Set-ItemProperty ist für die Arbeit mit den daten konzipiert, die von jedem Anbieter verfügbar gemacht werden. Geben Sie Get-PSProviderein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen finden Sie unter über_Anbieter.