Set-Acl - PowerShell Befehl Hilfe und Beispiele

Ändert die Sicherheitsbeschreibung einer angegebenen Ressource, z. B. einer Datei oder eines Registrierungsschlüssels. (Set-Acl)


NAME
Set-Acl
ÜBERSICHT
Ändert die Sicherheitsbeschreibung einer angegebenen Ressource, z. B. einer Datei oder eines Registrierungsschlüssels.
SYNTAX
Set-Acl [-Path] <string[]> [-AclObject] <ObjectSecurity> [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
BESCHREIBUNG
Mit dem Cmdlet "Set-Acl" wird die Sicherheitsbeschreibung einer angegebenen Ressource geändert, z. B. einer Datei oder eines Registrierungsschlüssels, sodass sie mit den Werten in der angegebenen Sicherheitsbeschreibung übereinstimmen. Zur Verwendung von Set-Acl bezeichnen Sie mit dem Path-Parameter die Ressource, deren Sicherheitsbeschreibung Sie ändern möchten, und geben Sie über den AclObject-Parameter eine Sicherheitsbeschreibung mit Werten an, die Sie anwenden möchten. Set-Acl verwendet den Wert des AclObject-Parameters als Modell und ändert die Werte in der Sicherheitsbeschreibung der Ressource so, dass diese mit den Werten im AclObject-Parameter übereinstimmen.
PARAMETER
-AclObject <ObjectSecurity> Gibt eine Zugriffssteuerungsliste mit den gewünschten Eigenschaftenwerten an. Set-Acl ändert die Zugriffssteuerungsliste der vom Path-Parameter angegebenen Ressource, sodass sie den Werten im angegebenen Sicherheitsobjekt entspricht. Sie können die Ausgabe des Befehls "Get-Acl" in einer Variablen speichern und die Variable mit dem AclObject-Parameter übergeben, oder Sie können den Befehl "Get-Acl" eingeben. Erforderlich? true Position? 2 Standardwert Pipelineeingaben akzeptieren?true (ByValue) Platzhalterzeichen akzeptieren?false -Exclude <string[]> Lässt die angegebenen Elemente aus. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig. 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 -Include <string[]> Ändert nur die angegebenen Elemente. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -PassThru [<SwitchParameter>] Gibt ein Objekt zurück, das die Sicherheitsbeschreibung darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -Path <string[]> Gibt die Ressource an, deren Sicherheitsbeschreibung geändert werden soll. Geben Sie den Pfad zu einer Ressource ein, z. B. den Pfad zu einer Datei oder einem Registrierungsschlüssel. Platzhalter sind zulässig. Wenn Sie ein Sicherheitsobjekt an Set-Acl übergeben (mit dem AclObject-Parameter oder durch Übergabe eines Objekts von Get-Acl an Set-Acl) und den Path-Parameter (Name und Wert) auslassen, verwendet Set-Acl den Pfad aus dem Sicherheitsobjekt. Erforderlich? true Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByPropertyName) Platzhalterzeichen akzeptieren?false -Confirm [<SwitchParameter>] Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf. Erforderlich? false Position? named Standardwert Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -WhatIf [<SwitchParameter>] 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 [<SwitchParameter>] 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 folgende allgemeine Parameter: "Verbose", "Debug", "ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable", "OutBuffer" und "OutVariable". Weitere Informationen erhalten Sie mit dem Befehl "get-help about_commonparameters".
EINGABEN
System.Security.AccessControl.ObjectSecurity Sie können eine Sicherheitsbeschreibung über die Pipeline an Set-Acl übergeben.
AUSGABEN
Keiner oder Sicherheitsobjekt Standardmäßig generiert Set-Acl keine Ausgabe. Wenn Sie den -Passthru-Parameter verwenden, wird jedoch ein Sicherheitsobjekt generiert. Der Sicherheitsobjekttyp hängt vom Ressourcentyp ab.
HINWEISE
Das Cmdlet "Set-Acl" wird von den Windows PowerShell-Dateisystem- und Registrierungsanbietern unterstützt. Es kann somit verwendet werden, um die Sicherheitsbeschreibungen von Dateien, Verzeichnissen und Registrierungsschlüsseln zu ändern. Um für einen Parameter mehrere Werte anzugeben, trennen Sie diese durch Kommas. Beispiel: "<Parametername> <Wert1>, <Wert2>".

Beispiele

BEISPIEL 1
C:\PS>$DogACL = get-acl c:\dog.txt C:\PS>set-acl -path C:\cat.txt -AclObject $DogACL Beschreibung ----------- Mit diesen Befehlen werden die Werte aus der Sicherheitsbeschreibung der Datei "dog.txt" in die Sicherheitsbeschreibung der Datei "cat.txt" kopiert. Wenn die Ausführung der Befehle abgeschlossen ist, sind die Sicherheitsbeschreibungen der Datei "dog.txt" und der Datei "cat.txt" identisch. Im ersten Befehl wird das Cmdlet "Get-Acl" verwendet, um die Sicherheitsbeschreibung der Datei "Dog.txt" abzurufen. Mit dem Zuweisungsoperator (=) wird die Sicherheitsbeschreibung im Wert der Variablen "$DogACL" gespeichert. Im zweiten Befehl wird "Set-Acl" verwendet, um die Werte in der ACL der Datei "Cat.txt" in die von "$DogACL" zu ändern. Der Wert des Path-Parameters ist der Pfad zur Datei "cat.txt". Der Wert des AclObject-Parameters ist die Modell-ACL, in diesem Fall also die ACL der Datei "dog.txt", die in der Variablen "$DogACL" gespeichert wurde.
BEISPIEL 2
C:\PS>get-acl c:\dog.txt | set-acl -path C:\cat.txt Beschreibung ----------- Dieser Befehl unterscheidet sich von dem Befehl im vorherigen Beispiel darin, dass ein Pipelineoperator verwendet wird, um die im Befehl "Get-Acl" abgerufene Sicherheitsbeschreibung an den Befehl "Set-Acl" zu senden. Im ersten Befehl wird das Cmdlet "Get-Acl" verwendet, um die Sicherheitsbeschreibung der Datei "Dog.txt" abzurufen. Der Pipelineoperator (|) übergibt ein Objekt, das die Sicherheitsbeschreibung der Datei "Dog.txt" darstellt, an den Befehl "Set-Acl". Im zweiten Befehl wird Set-Acl verwendet, um die Sicherheitsbeschreibung aus "Dog.txt" auf "Cat.txt" anzuwenden. Wenn die Ausführung des Befehls abgeschlossen ist, sind die ACLs der Datei "dog.txt" und der Datei "cat.txt" identisch.
BEISPIEL 3
C:\PS>$newACL = get-acl file0.txt C:\PS>get-childitem c:\temp -recurse -include *.txt -force | set-acl -aclobject $newacl Beschreibung ----------- Mit diesen Befehlen werden die Sicherheitsbeschreibungen in der Datei "file0.txt" auf alle Textdateien im Verzeichnis "C:\temp" einschließlich aller Unterverzeichnisse angewendet. Im ersten Befehl wird die Sicherheitsbeschreibung der Datei "file0.txt" im aktuellen Verzeichnis abgerufen und mit dem Zuweisungsoperator (=) in der Variablen "$newACL" gespeichert. Mit dem ersten Befehl in der Pipeline werden mit dem Cmdlet "Get-ChildItem" alle Textdateien im Verzeichnis "C:\Temp" abgerufen. Durch den Recurse-Parameter wird der Befehl auf alle Unterverzeichnisse von "C:\temp" ausgeweitet. Durch den Include-Parameter werden nur Dateien mit der Erweiterung ".txt" abgerufen. Durch den Force-Parameter werden auch versteckte Dateien abgerufen. ("c:\temp\*.txt" kann nicht verwendet werden, da der Recurse-Parameter nur für Verzeichnisse, nicht aber für Dateien verwendet werden kann.) Mit dem Pipelineoperator (|) werden die Objekte, die die abgerufenen Dateien darstellen, an den Befehl "Set-Acl" gesendet, durch den die Sicherheitsbeschreibung im AclObject-Parameter auf alle Dateien in der Pipeline angewendet wird. In der Praxis sollten Sie den Befehl "Set-Acl" zunächst immer mit dem Whatif-Parameter verwenden, wenn sich der Befehl möglicherweise auf mehrere Dateien auswirkt. In diesem Fall lautet der zweite Befehl in der Pipeline "set-acl -aclobject $newacl -whatif". Mit diesem Befehl werden alle Dateien aufgeführt, auf die sich der Befehl auswirken würde. Überprüfen Sie die Ergebnisse, und führen Sie den Befehl dann ohne Whatif-Parameter erneut aus. VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=113389 (möglicherweise auf Englisch) Get-Acl C:\Windows>powershell get-help Get-PfxCertificate -full

Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.

ColorConsole [Version 3.7.1000] PowerShell 2.0-Export

Windows 11, 10, 8.1, 8, 7 / Server 2022, 2019, 2016











Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



PowerShell: Ändert die Sicherheitsbeschreibung einer angegebenen Ressource, z. B. einer Datei oder eines Registrierungsschlüssels.

HTTP: ... PS_Windows/de/Set-Acl.htm
0.061
19844

FritzBox korrekt neu starten, aber wie, mit Beispiel bitte?

Wo finde ich in Windows 8.1 / 10 den temporären Ordner für die zu brennenden DVD oder CD Dateien?

Wo finde ich die Standard-Programm-Einstellungen in Windows 8.1, 10, für Datei -Erweiterungen, -Formate, -Typen?

Why can I not delete a VHD file in Windows 8.1 or 10?

Ausdrucken des verbrauchten Speicherplatzes auf der Festplatte, wozu?

Burn an ISO image to a DVD using CMD commands in Windows 8.1, 10?



(0)