2016-08-16 8 views
1

Ich schrieb ein Skript zum Erstellen eines neuen Ordners basierend auf einigen Unternehmensvariablen und später eine Gruppe mit Benutzern hinzufügen, um die Berechtigungen für diesen Ordner zu behandeln. Ich kann keine vernünftige Möglichkeit finden, einem oder mehreren AD-Gruppen einen Ordner im selben Skript hinzuzufügen.Versuchen, globale Sicherheitsgruppen zu einem Ordner hinzuzufügen

Hier ist mein Skript:

$parentfolder = Read-Host -Prompt "Please enter the name of the parent folder (i.e. FOLDER1234)" 
$folder = Read-Host -Prompt "Please enter the name of the new network folder" 

New-Item \\DC02\product\$parentfolder\$folder -type directory 
Write-Host "Folder has been created!" 
Start-Sleep -s 2 

$newgroup = Read-Host -Prompt "Please enter the new group name for this folder (1234-1234-12xx format)" 
$description = Read-Host -Prompt "Please enter the abbreviation of the product (i.e. PDPROD)" 
NEW-ADGroup -Name $newgroup -GroupScope Global -Description $description -Path "OU=Project Groups,DC=ourdomain,DC=nl" 

do { 
    $stringquit = Read-Host -Prompt "Please enter the member username's to add or press Q if you are done." 
    $userfilter3 = Get-ADUser -Filter {sAMAccountName -eq $stringquit} 
    if ($userfilter3 -eq $Null,"Q") { 
     Write-Host = "User does not exist in AD, please try again" 
     Start-Sleep -s 1 
    } else { 
     if ($stringquit -ne "Q") { 
      Write-Output -InputObject $stringquit | Out-File -Append c:\userlist.csv 
     } else { 
      Write-Host "You pressed Q, moving on." 
     } 
    } 
} until ($stringquit -eq "Q") 

$addgroup = "cn=$newgroup,ou=Project Groups,dc=ourdomain,dc=nl" 
$list = Get-Content c:\userlist.csv 
foreach ($user in $list) { 
    Add-ADGroupMember -Identity $addgroup -Member $user 
} 

#set permissions 
$acl = Get-Acl \\DC02\product\$parentfolder\$folder 
$ar = New-Object System.Security.AccessControl.FileSystemAccessRule("1234-all","Modify"."ContainerInherit,ObjectInherit","None","Allow") 
$acl.SetAccessRule($ar) 
Set-Acl \\DC02\product\$parentfolder\$folder $acl 
+0

@Ansgar: Es gibt Streit darüber, ob Tags aus Titeln entfernt werden sollten - sicherlich Taggy-Titel in der Form 'x | y | Frage "sollte ausgebügelt werden, aber das Entfernen von Keywords wie" Powershell "verliert wichtigen Kontext in den Hot-Fragen oder verwandten Seitenleisten, wo Tags nicht angezeigt werden. – halfer

Antwort

1
+0

Das Set Berechtigungen Teil am Ende ist das Problem in der Tat, der Rest scheint zu arbeiten. Der erste Fehler wird jedoch angezeigt, wenn "line2" vom letzten Teil ausgeführt wird. – Kevin

+0

PS C: \ ps> Neu-Objekt System.Security.AccessControl.FileSystemAccessRule ("6001-all", "Ändern". "ContainerInherit, ObjectInherit", "Keine", "Zulassen") New-Objekt: Kann nicht gefunden werden Überladung für "FileSystemAccessRule" und die Anzahl der Argumente: "4". Bei Zeile: 1 Zeichen: Ändern 1 + New-Object System.Security.AccessControl.FileSystemAccessRule ("6001-all", "... + ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [New-Object], MethodException + FullyQualifiedErrorId: ConstructorInvokedThrowException, Microsoft.PowerShell.Commands.NewObjectCommand – Kevin

+0

Sie haben einen Tippfehler in dieser Anweisung.Ersetzen Sie den Punkt zwischen '" Modify "' und '" ContainerIn herit, ObjectInherit "' mit einem Komma. –

Verwandte Themen