Freigeben über


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.