jannikx21
Goto Top

ICALS.exe mit Powershell verwenden?

Moin,

Ich habe folgende Frage: Wie kann ich folgendes in Powershell verwirklichen?
Der Befehl icals.exe scheint nur noch eingeschränkt in Powershell zu funktionieren. (Vererbung deaktivieren geht, Rechte an spezielle Gruppen vergeben geht nicht weil andere Syntax)
Jetzt habe ich die Hoffnung, dass es da irgendeinen Trick gibt, mit dem ich die icals.exe trotzdem verwenden kann, damit ich mich nicht auch noch mit der "Powershell Art" Rechte zu setzen beschäftigen muss....

#Erstelle Ordner + Freigabe
Function ErstelleFreigabe
{
    param
    (
        [String] $Gruppelist,
        [String] $Grupperead,
        [String] $Gruppewrite
    )

    #Bilde Namen
    $Pfad = "S:\Freigaben\"+$GKZ+"-"+"Freigabe"  
    $Daten = $Pfad+"\"+"Daten"  
    $Apl = $Pfad+"\"+"Apl"  
**    $list = "scd-lab.intern\"+$Gruppelist+":"+"(RX)"  
    $read = "scd-lab.intern\"+$Grupperead+":"+"(CI)(OI)(RX)"  
    $write = "scd-lab.intern\"+$Gruppewrite+":"+"(CI)(OI)(M)"**  
    $Freigabe = $GKZ+"-"+"Freigabe"  

    #Erstelle Ordner und Unterordner
    mkdir $Pfad
    mkdir $Daten
    mkdir $Apl
    #Deaktiviere Vererbung für die oberste Ebene
    icacls.exe $Pfad /inheritance:r
    #lege spezielle list/read/write Berechtigungen für die entsprechenden Gruppen fest
**    icacls.exe $Pfad /grant $list
    icacls.exe $Pfad /grant $read
    icacls.exe $Pfad /grant $write**
    #Erstelle die Freigabe
    New-SmbShare -Name $Freigabe -Path $Pfad
}
ErstelleFreigabe -Gruppelist $Gruppelist -Grupperead $Grupperead -Gruppewrite $Gruppewrite


Gruß Jannik

Content-Key: 1297008996

Url: https://administrator.de/contentid/1297008996

Printed on: April 25, 2024 at 03:04 o'clock

Member: erikro
erikro Sep 23, 2021 at 15:32:24 (UTC)
Goto Top
Moin,

dafür gibt es die Befehle get-acl und set-acl. Guck mal hier:
https://blog.netwrix.de/2020/01/31/verwalten-von-dateisystem-acls-mit-po ...

hth

Erik
Member: Underachiever
Underachiever Sep 23, 2021 updated at 21:03:28 (UTC)
Goto Top
Hi.

$read = "scd-lab.intern\"+$Grupperead+":"+"(CI)(OI)(RX)"  
Da sind zu viele Klammern.
$read = "scd-lab.intern\"+$Grupperead+":"+"(CI)(OI)RX"  
sollte funktionieren.

Grüße

Edit: /grant musst du in Anführungszeichen setzen
icacls.exe $Pfad "/grant" $read