Jump to content

Security Änderung eines Shares


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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.

Link zu diesem Kommentar

Die User werde ich aus einer Datei entnehmen, dass ist aber noch nicht im Script hinterlegt.

Dann ist die Aussage in deinem ersten Posting nicht korrekt.

 

Mir geht es wirklich nur um den Ownership und das alle Einträge gelöscht werden. Leider sind immer unterschiedliche User im Ordner hinterlegt daher kann man die zu löschenden User nicht im Script mitgeben.

Wenn Du eine Liste mit Namen hast, dann kannst Du ja alle entfernen, die momentan NICHT dran sind.

 

Beispiel:

 

$username=$ordner

If $username<>User_aus_der_Datei then

DELETE Eintrag

 

Den Rest darfst Du selbst machen.

bearbeitet von Sunny61
Link zu diesem Kommentar

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.

Link zu diesem Kommentar

Ich hab's mir angesehen.

Hmmm ...  keinen Kommentar dazu.

Falls Du also weder Nils noch dem Entwickler glaubst, dass das Tool das kann, was auf der Homepage im Feature-Set angegeben ist, kannst Du immernoch ICACLS benutzen. Auch damit kann man existierende ACLs ersetzen - also eine neue erwünschte ACL konfigurieren, ohne die alte zu übernehmen oder zu ergänzen.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...