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-ID: 1297008996

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

Ausgedruckt am: 25.11.2024 um 14:11 Uhr

erikro
erikro 23.09.2021 um 17:32:24 Uhr
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
Underachiever
Underachiever 23.09.2021 aktualisiert um 23:03:28 Uhr
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