Erstellt oder ändert den Wert für eine Eigenschaft eines Elements.

Syntax

Set-ItemProperty [-LiteralPath] <string[]> -InputObject <psobject> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Bestätigung] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Set-ItemProperty [-Path] <string[]> -InputObject <psobject> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Bestätigung] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Set-ItemProperty [-LiteralPath] <string[]> [-Name] <string> [-Wert] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Bestätigung] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Set-ItemProperty [-Path] <string[]> [-Name] <string> [-Wert] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Bestätigung] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Beschreibung

Das Cmdlet "Set-ItemProperty" ändert den Wert für die Eigenschaft des angegebenen Elements. Sie können mit dem Cmdlet die Eigenschaften von Elementen festlegen oder ändern. Sie können z. B. mit Set-ItemProperty den Wert der IsReadOnly-Eigenschaft eines Dateiobjekts auf "true" festlegen.

Außerdem können Sie mit Set-ItemProperty Registrierungswerte und Daten erstellen und ändern. Sie haben z. B. die Möglichkeit, einen neuen Registrierungseintrag in einem Schlüssel hinzuzufügen und festzulegen oder seinen Wert zu ändern.

Parameter

-Credential <PSCredential>

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert 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 vom Cmdlet "Get-Credential" generiertes Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.

Dieser Parameter wird nicht von mit Windows PowerShell installierten Anbietern unterstützt.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Exclude <string[]>

Gibt die Elemente an, auf die das Cmdlet nicht angewendet wird, und schließt alle anderen ein.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Filter <string>

Gibt einen Filter im Format oder in der Sprache des Anbieters an. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Die Syntax des Filters einschließlich der Verwendung von Platzhaltern ist vom Anbieter abhängig. Filter sind effizienter als andere Parameter, da sie beim Abrufen der Objekte vom Anbieter angewendet werden und die Objekte nicht erst nach dem Abrufen von Windows PowerShell gefiltert werden.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Force

Hiermit kann das Cmdlet eine Eigenschaft für Elemente festlegen, auf die der Benutzer anderweitig nicht zugreifen kann. Die Implementierung unterscheidet sich bei den einzelnen Anbietern. Weitere Informationen finden Sie unter "about_Providers".

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Include <string[]>

Gibt nur die Elemente an, auf die das Cmdlet angewendet wird, und schließt alle anderen aus.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-InputObject <psobject>

Gibt das Objekt mit den Eigenschaften an, die Sie ändern möchten. Geben Sie eine Variable ein, die das Objekt enthält, oder geben Sie einen Befehl ein, mit dem das Objekt abgerufen wird.

Erforderlich?

true

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue, ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-LiteralPath <string[]>

Gibt den Pfad zur Elementeigenschaft an. Der Wert von "LiteralPath" wird genau so verwendet, wie er eingegeben wurde. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen veranlassen Windows PowerShell, Zeichen nicht als Escapesequenzen zu interpretieren.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Name <string>

Gibt den Namen der Eigenschaft an.

Erforderlich?

true

Position?

2

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-PassThru

Gibt ein Objekt zurück, das die Elementeigenschaft darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Path <string[]>

Gibt den Pfad zu den Elementen mit der festzulegenden Eigenschaft an.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Wert <Object>

Gibt den Wert der Eigenschaft an.

Erforderlich?

true

Position?

3

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Bestätigung

Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-WhatIf

Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-UseTransaction

Schließt den Befehl in die aktive Transaktion ein. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter "about_Transactions".

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.Management.Automation.PSObject

Sie können Objekte über die Pipeline an Set-ItemProperty übergeben.

Ausgaben

Keiner oder System.Management.Automation.PSCustomObject

Wenn Sie den PassThru-Parameter verwenden, generiert Set-ItemProperty ein PSCustomObject-Objekt, das das geänderte Element sowie seinen neuen Eigenschaftenwert darstellt. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.

Hinweise

Das Cmdlet "Set-ItemProperty" ist für die Verwendung mit Daten konzipiert, die von beliebigen Anbietern verfügbar gemacht werden. Um die in der Sitzung verfügbaren Anbieter aufzuführen, geben Sie "Get-PSProvider" ein. Weitere Informationen finden Sie unter "about_Providers".

Beispiel 1

C:\PS>set-itemproperty -path c:\GroupFiles\final.doc -name IsReadOnly -value $true

Beschreibung
-----------
Mit diesem Befehl wird der Wert der IsReadOnly-Eigenschaft der Datei "final.doc" auf "true" festgelegt. 

Der Befehl ändert mit dem Cmdlet "Set-ItemProperty" den Wert der Eigenschaft für die Datei "final.doc". Mit dem Path-Parameter wird die Datei angegeben. Mit dem Name-Parameter wird der Name der Eigenschaft angegeben, und mit dem Value-Parameter wird der neue Wert angegeben.

Die automatische Variable "$true" stellt den Wert TRUE dar. Weitere Informationen finden Sie unter "about_Automatic_Variables".

Bei der Datei handelt es sich um ein System.IO.FileInfo-Objekt, und IsReadOnly ist nur eine seiner Eigenschaften. Um alle Eigenschaften und Methoden eines FileInfo-Objekts anzuzeigen, übergeben Sie die Datei über die Pipeline an das Cmdlet "Get-Member".) Beispiel: "final.doc | get-member".






Beispiel 2

C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 823

C:\PS>get-itemproperty -path HKLM:\Software\MyCompany

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

C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 824
C:\PS>get-itemproperty -path HKLM:\Software\MyCompany


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

Beschreibung
-----------
Dieses Beispiel veranschaulicht die Verwendung von Set-ItemProperty zum Erstellen eines neuen Registrierungseintrags und zum Zuweisen eines Werts zum Eintrag. Der Eintrag "NoOfEmployees" wird im Schlüssel "MyCompany" im Schlüssel "HKLM\Software" erstellt, und sein Wert wird auf 823 festgelegt.

Da Registrierungseinträge als Eigenschaften der Registrierungsschlüssel betrachtet werden (bei denen es sich um Elemente handelt), erstellen Sie mit Set-ItemProperty Registrierungseinträge und legen ihre Werte fest und ändern sie.

Der erste Befehl erstellt mit dem Cmdlet "Set-ItemProperty" den Registrierungseintrag. Mit dem Path-Parameter wird der Pfad zum Laufwerk "HKLM:" und zum Schlüssel "Software\MyCompany" angegeben. Mit dem Name-Parameter wird der Name für den Eintrag angegeben, und mit dem Value-Parameter wird ein Wert angegeben.

Im zweiten Befehl wird der neue Registrierungseintrag mit dem Cmdlet "Get-ItemProperty" angezeigt. Wenn Sie das Cmdlet "Get-Item" oder das Cmdlet "Get-ChildItem" verwenden, werden die Einträge nicht angezeigt, da sie Eigenschaften eines Schlüssels sind und keine Elemente oder untergeordneten Elemente.

Der dritte Befehl ändert den Wert des NoOfEmployees-Eintrags in 824.

Sie können mit dem Cmdlet "New-ItemProperty" auch den Registrierungseintrag und seinen Wert erstellen und den Wert dann mit Set-ItemProperty ändern.

Weitere Informationen über das Laufwerk "HKLM:" erhalten Sie mit folgendem Befehl: "get-help get-psdrive". Weitere Informationen über das Verwalten der Registrierung mit Windows PowerShell erhalten Sie mit folgendem Befehl: "get-help registry".






Beispiel 3

C:\PS>get-childitem weekly.txt | set-itemproperty -name IsReadOnly -value $true

Beschreibung
-----------
Diese Befehle veranschaulichen das Senden eines Elements an Set-ItemProperty mithilfe eines Pipelineoperators (|). 

Im ersten Teil des Befehls wird mit dem Cmdlet "Get-ChildItem" ein Objekt abgerufen, das die Datei "Weekly.txt" darstellt. Der Befehl sendet das Dateiobjekt mithilfe eines Pipelineoperators an Set-ItemProperty. Bei dem Befehl "Set-ItemProperty" werden mit dem Name-Parameter und dem Value-Parameter die Eigenschaft und ihr neuer Wert angegeben.

Dieser Befehl entspricht der Verwendung des InputObject-Parameters zum Angeben des Objekts, das Get-ChildItem abruft.






Siehe auch




Inhaltsverzeichnis