Jump to content

Eikatosh

Members
  • Gesamte Inhalte

    3
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Eikatosh

  1. Ich hab's mir angesehen. Problem dabei ist das in den Security Einträgen viele Unterschiedliche User sind, die da nicht rein dürfen(Jeder Ordner hat andere User drin stehen).

    Deshalb hatte ich gefragt ob es ein Script gibt was wirklich alles daraus entfernt.

    $Ar = New-Object  system.security.accesscontrol.filesystemaccessrule($ordner,"FullControl","Allow")
    $Ar1 = New-Object  system.security.accesscontrol.filesystemaccessrule("Administrators","FullControl","Allow")
    $Ar2 = New-Object  system.security.accesscontrol.filesystemaccessrule("CREATOR OWNER","FullControl","Allow")
    $Ar3 = New-Object  system.security.accesscontrol.filesystemaccessrule("SYSTEM","FullControl","Allow")
    

    Der Teil beinhaltet nur die Einträge die später drin stehen müssen.

  2. Einen schönen guten Tag,

     

    Ich muss 1800 Usershares ändern. Dabei müssen alle Security Einträge gelöscht werden und nur bestimmte Gruppen gesetzt werden. Desweiteren muss der Owner angepasst werden.

    Der User selbst wird per TextBox eingegeben.

    Hier der Code:

    $form = New-Object “System.Windows.Forms.Form”;
    $form.Width = 700;
    $form.Height = 300;
    $form.Text = "Share Berechtigung";
    $form.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen;
    
    $textBox1 = New-Object “System.Windows.Forms.TextBox”;
    $textBox1.Left = 90;
    $textBox1.Top = 90;
    $textBox1.width = 500;
    
    $Button1=New-Object "System.Windows.Forms.Button";
    $Button1.Left = 270;
    $Button1.Top = 120;
    $Button1.width = 100;
    $Button1.Text="Anpassen";
    
    $eventHandler = [System.EventHandler]{
    $textBox1.Text;
    $form.Close();};
    
    $button1.Add_Click(
    {
          
    $ordner =$textBox1.Text;
    $temp = "\\Servername\usershare\"+ $textBox1.Text;
    New-Item -ItemType directory -Path $temp
    $Acl = Get-Acl $temp
    $Ar = New-Object  system.security.accesscontrol.filesystemaccessrule($ordner,"FullControl","Allow")
    $Ar1 = New-Object  system.security.accesscontrol.filesystemaccessrule("Administrators","FullControl","Allow")
    $Ar2 = New-Object  system.security.accesscontrol.filesystemaccessrule("CREATOR OWNER","FullControl","Allow")
    $Ar3 = New-Object  system.security.accesscontrol.filesystemaccessrule("SYSTEM","FullControl","Allow")
    $Acl.SetAccessRule($Ar)
    $Acl.SetAccessRule($Ar1)
    $Acl.SetAccessRule($Ar2)
    $Acl.SetAccessRule($Ar3)
    Set-Acl ($temp) $Acl
    
    $username=$ordner
    $ID = new-object System.Security.Principal.NTAccount($username)
    $acl.SetOwner($ID)
    set-acl -path $temp -aclObject $acl
    Get-ChildItem -Path $temp -recurse | set-acl -aclObject $acl
    }
    )
    $form.Controls.Add($button1);
    $form.Controls.Add($textBox1);
    $ret = $form.ShowDialog();
    
    
    

    Ich weiß leider nicht wie man alle Einträge der Security löscht und das Script für SetOwner funktioniert leider nicht. Es wird folgendes ausgegeben: "Die Sicherheits-ID darf nicht der Besitzer dieses Objekts sein."

    Hoffe jemand kann mir bei diesem Problem helfen.

×
×
  • Neu erstellen...