Jump to content

NTFS Berechtigungen setzen per Script?


Recommended Posts

Hallo, ich benötige hilfe :)

ich hab diesen post bei Active Directory auch reingesendet, wenn das falsch ist bitte den fehlerhaften löschen ! will hier keine probleme machen :)

 

Ich habe Scripte geschrieben 

 

- fürs erstellen eines Virtuellen Server (Win2019)

- Basic Einstellungen 

- DNS DHCP

- Komplette Organisationsstruktur mit dazugehörigen Gruppen

 

aber jetzt kommt das ding wo ich nicht weiterkomme.

 

Ich würde gerne per PowerShell Script meine (User Gruppen wie z.b. Administrator oder IT oder what ever) spezielle lese Berechtigungen geben auf neu erstellten Ordnern, ich will nicht bei jedem Ordner manuell in die Freigabe gehen und alles einstellen sondern bei dem Erstellen des Ordners schon im Script die Gruppen mit deren jeweiligen Rechten (Lesen, Schreiben bzw. ausführen) eingeben.

Ich habe keine ahnung wie ich dieses Script aufbaue und bin am testen und lesen finde aber nichts, kann mir jemand helfen? ich will keine 100% Lösung, macht ja kein Spaß^^ ich lerne ja noch PowerShell aber ich würde gerne um hilfe bitten das mir jemand zeigt wo oder wie ich an dieses Problem ran gehe.

 

Danke euch ! 

Angenehmen Tag und nur das beste.

Link to post
vor 9 Minuten schrieb cj_berlin:

Moin,

Get-ACL / Set-ACL oder, besser, https://www.powershellgallery.com/packages/NTFSSecurity;-) 

 

Danke cj_berlin (wenn du daherkommst ^^ beste :P)

 

Frage. (ich bin neu in PowerShell bzw. generell Scripting)

 

mit Get-ACL bekomme ich ja die Freigabe Gruppen raus und mit Set-ACL setzte ich die gruppen, aber (nun wird es lustig),

wenn ich einen komplett neuen Ordner anlege und im gleichen schritt bei dem Anlegen des Ordners die Gruppen zuweisen will wie mach ich das? und ich hab ja nicht nur Freigabe sondern auch die Sicherheitseinstellungen. Ich muss ja beides Festlegen um z.b. auf einem FileServer die Ordner sowie deren Inhalt Freizugeben :) und die Vererbung würde ich gerne ausschalten. 

 

Ich weiß das ist mega viel gefragt, nur ich komm da aktuell echt nicht weiter sry ! 

Bitte außerdem Erklärung zu deinem Link. 

Danke nochmals für deine Hilfe !

Also ein Beispiel würde mir helfen, das ich das mal verstehe. Danke. Reicht ja einmal eine Zeile wo ich checke ahh so geht das.

Link to post
vor 43 Minuten schrieb NorbertFe:

Und zur Sicherheit: bitte unterscheiden zwischen ntfs und Freigabe-Sicherheit. ;)

wie meinen?

 

vor 47 Minuten schrieb tesso:

Ja der Link habe ich dann nach stöbern auch verstanden :) Danke ! schaue mir jeztt deinen Link an ! Danke für die hilfe

 

Link to post
vor 15 Minuten schrieb NorbertFe:

Siehst. Ntfs ist das eine und Share ist das andere.

 Naja Beispiel,

wenn ich einen neuen Ordner anlegen will dann nehme ich 

"New-Item -ItemType Direcotory -Name "Der Name des Ordners hier" -Path C:\"

 

so tippe ich mir ja meinen neuen Ordner 

 

Freigabe würde ich so agieren 

 

New-SmbShare -Name "Der Name des Ordners hier" -Path C:\ -FullAccess 'jeder'

 

aber ich kann ja keine NTFS Berechtigung so richtig konfigurieren über Powershell ich muss doch dann 

 

icacls C:\"Der Name des Ordners hier"\ /grant administrator: "F"

 

verwenden. oder sehe ich das falsch?

 

Wenn ich es richtig sehe kann ich das in einem Try / Catch abschnitt auch zusammenfassen (wäre ja irgend wie öde immer Zeile für Zeile durchzuführen, wenn man auch alle als Script verwenden könnte (welches man dann Ordnerweise anpassen kann)

Link to post

Das Problem beim NTFS Modul ist das dies keines von Microsoft ist sondern eines aus der Community Powershell. Das bedeutet das ich das nicht verwenden kann (leider) da die Server einerseits nicht mit dem Internet verbunden sind und ich die Datensetze nicht runterladen kann bei der Installation und mein Projekt soll ausschließlich über die Datensetze von Microsoft PowerShell sein. 

 

Dementsprechend bleibt mir nix anderes übrig als mit:

 

icacls C:\"Der Name des Ordners hier"\ /grant administrator: "F"

 

zu arbeiten.

ich habe bei den "icacls" Befehlen bisher noch nicht rausgefunden wie ich die Standard zugewiesenen Gruppen (bei neu Erstellung der Gruppe) gelöscht werden können, also mit /remove habe ich bisher noch keine funktionierende Zeile hinbekommen kann mir da jemand helfen ? 

 

Wie würde z.b. für die Gruppe "Administrator" beim Ordner u. Path " C:\Daten" die Codezeile aussehen wenn ich über icacls die komplette NTFS rechte löschen will. 

Order wenn ich einen Ordner "C:\Daten" habe und dort alle Standard NTFS zugewiesenen Rechte auf einmal entfernen möchte?

 

Danke für die hilfe ! 

 

 

Link to post

Hallo,

 

vor 47 Minuten schrieb congeries:

und mein Projekt soll ausschließlich über die Datensetze von Microsoft PowerShell sein. 

 

Dementsprechend bleibt mir nix anderes übrig als mit:

einerseits dürfen die Befehle nur aus den vorhandenen Modulen stammen und andererseits bedienst du dich Windows-Programmen. Die Argumentation passt nicht ganz zusammen.

 

[System.Security.AccessControl.FileSystemAccessRule]::new()

Es bleibt Dir noch übrig eine AccessRule zu bauen, die dann mit Set-Acl auf das/die Verzeichnis/Datei angewendet werden kann. 

PowerShell Setting advanced NTFS permissions - Stack Overflow

  • Like 2
Link to post
vor 1 Stunde schrieb congeries:

Das Problem beim NTFS Modul ist das dies keines von Microsoft ist sondern eines aus der Community Powershell.

 

Musst Du ja auch nicht verwenden - Get-ACL/Set-ACL sind nativ. Die Lernkurve ist dann halt steiler :-)

 

PS C:\WINDOWS\system32> get-command -module microsoft.powershell.security
CommandType     Name                                               Version    Source                                                     
-----------     ----                                               -------    ------
Cmdlet          ConvertFrom-SecureString                           3.0.0.0    Microsoft.PowerShell.Security
Cmdlet          ConvertTo-SecureString                             3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Get-Acl                                            3.0.0.0    Microsoft.PowerShell.Security 
Cmdlet          Get-AuthenticodeSignature                          3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Get-CmsMessage                                     3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Get-Credential                                     3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Get-ExecutionPolicy                                3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Get-PfxCertificate                                 3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          New-FileCatalog                                    3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Protect-CmsMessage                                 3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Set-Acl                                            3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Set-AuthenticodeSignature                          3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Set-ExecutionPolicy                                3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Test-FileCatalog                                   3.0.0.0    Microsoft.PowerShell.Security                             
Cmdlet          Unprotect-CmsMessage                               3.0.0.0    Microsoft.PowerShell.Security     
  
  

 

  • Like 2
Link to post

Hey,

 

Ich habe auf dem Test Ordner , die Freigabe sowie die Sicherheit hinbekommen, aber ein Problem.

 

Freigabe funktioniert zu 100%, war auch nicht schwer 

 

New-SmbShare -Name "Test Ordner" -Path C:\Test Ordner\ -FullAccess "Gruppe Test"

 

hat voll funktioniert und auch bei der Sicherheit hat es soweit funktioniert mit : 

"

icacls C:\Test Ordner\ /grant Gruppe Test:"M"
icacls C:\Test Ordner\ /grant Gruppe Test:"RX"

"

Jedoch habe ich bei der Sicherheit noch ein Problem, die Standard Gruppen die bei der Ordneranlegung die Berechtigungen bekommen haben, bekomme ich nicht weg und mit:

 

Get-ACL -Path C:\Test Ordner

 

bekomme ich nur meine Gruppe ausgegeben, welche ich rechte gegeben habe aber die Gruppen wie z.B. Administrator oder Benutzer / Jeder werden mir da nicht ausgegeben lediglich meine Gruppe, daher die Frage wie bekomme ich die Gruppen aus der Sicherheit raus. was muss ich dafür schreiben.

Also auf gut deutsch gesagt wie schreibe ich für den Ordner "Test Ordner" im Path "C:\Test Ordner" eine remove zeile für die NFT's die gewährt wurden, für die Gruppen die bei der Ordner Generierung automatisch hinzugefügt wurden.

 

Danke für die Hilfe ! 

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...