none
Rekursive auflistung von Berechtigungen und Auflistung der AD-Guppen inkl. Benutzer RRS feed

  • Frage

  • Hi,

    Ich habe mich mal etwas mit der Powershell beschäftigt und würde gerne rekursiv die nichtvererbten Rechte der Ordner auflisten.

    Eigentlich funktioniert das auch soweit, nur mit der Ausgabe habe ich Probleme. Außerdem soll das ganze später in eine Textdatei o.Ä. geschrieben werden (Da weiß ich auch nicht sorecht wie ich es anstellen soll powershell.exe script.ps1 >> C:\text.txt ist gescheitert ;) ).

     

    Hier mein Script:

    Set-ExecutionPolicy RemoteSigned #Berechtigungsstufe
    
    $sFolder = "D:" #Pfad der durchsucht werden soll
    
    foreach($aFolders in dir $sFolder -recurse -Exclude *.*){ #Schleife: Wird für jeden Ordner im Ordner $sFolder durchgeführt
    $sBerechtigung = (Get-Acl "$($aFolders)" ).access | where-Object {($_.PropagationFlags -eq 'None') -and ($_.IsInherited -ne 'True')} #Auslesen: Filtert die Berechtigungen der Ordner heraus
    if ("$($sBerechtigung.IdentityReference)" -ne ""){ #Abfrage Überprüft vor der Ausgabe ob IdentityReference einen Wert hat ansonsten wird die Ausgabe nicht durchgeführt
    	""#Ausgabe: Absatz
    	"Ordner: $($aFolders)" #Ausgabe: Ordnerpfad
    	"Benutzer/Gruppe: $($sBerechtigung.IdentityReference)" #Ausgabe: Benutzer bzw Gruppe
    	"Berechtigung: $($sBerechtigung.FileSystemRights)" #Ausgabe: Berechtigung des Benutzers/der Gruppe
    	}	
    }
    
    

     

    Für die Auswertung wollte ich darunter dann die Gruppen und Benutzer auflisten:

     

    GRUPPE1:

    User1

    User3

    User..

     

    Die User könnte ich ja prinzipiell aus der WMI auslesen.. jedoch bekomme ich dort ja nicht die Gruppenzugehörigkeit heraus.

    Habe auch schon "gegoogelt" jedoch nichts passendes gefunden. Für Unterstützung / Hilfestellungen wäre ich sehr dankbar :)

     

    MfG Daniel

    • Typ geändert Mahagon Montag, 15. November 2010 11:55 Ergänzung
    Montag, 13. September 2010 12:07

Antworten

  • Hallo Daniel,

    objItem.name ist der Gruppenname. Was du bräuchtest wäre die objItem.member Eigenschaft welche alle Mitglieder der Gruppe enthält. Stelle bitte sicher, dass die member Eingenschaft auch in der $colProplist Variable eingetragen ist:

    $Gruppe = "Dv Rechnung Lesen"
    
    $strFilter = "(&(objectCategory=group)(Name=$Gruppe))"
    
    $objDomain = New-Object System.DirectoryServices.DirectoryEntry
    
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.PageSize = 1000
    $objSearcher.Filter = $strFilter
    $objSearcher.SearchScope = "Subtree"
    
    $colProplist = "member"
    foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
    
    $colResults = $objSearcher.FindAll()
    
    foreach ($objResult in $colResults)
     {$objItem = $objResult.Properties; $objItem.member}
    
    

    Gruß,
    Andrei

    Mittwoch, 15. September 2010 07:15
    Moderator

Alle Antworten

  • Hallo Daniel,

    für AD basierte Gruppen, müsstest man die Gruppe aus AD abrufen und anschließend die Eigenschaften auslesen oder wenn der LDAP Pfad bekannt ist/leicht aufgebaut werden kann, etwas einfacher wie z.B. in diesem ($group.Member()) Thread beschrieben.

    für lokale Gruppen, könntest du es mit unterem Code z.B. für die Administratoren Gruppe probieren:

    $group =[ADSI]"WinNT://./Administrators"
    $members =$group.Members()
    $members | foreach {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
    
    Gruß,
    Andrei
    Dienstag, 14. September 2010 07:47
    Moderator
  • Hi,

    Danke schonmal für die Antwort :)

     

    Das mit dem rekursiven Auflisten habe ich soweit hinbekommen:

     

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned #Berechtigungsstufe
    
    $pfad = "C:\Users" #Ordnerpfad (Muss ohne \ am Ende eingegeben werden!
    $protokoll = "C:\Berechtigung.txt" #Dateiname des Protokolls
    
    $pfadold = "" 
    $table = @() 
    $table += ""
    $table += "==============================================================================================="
    $table += ""
    $table += "DATEIBERECHTIGUNGEN"
    $table += ""
    $table += "==============================================================================================="
    $table += ""
    foreach ($acl in $($pfad | get-acl) ) {
    	foreach ($ace in $acl.GetAccessRules($true,$true,
    		[system.security.principal.securityidentifier]) | Where-Object {($_.PropagationFlags -match "None")} | select-object FileSystemRights,AccessControlType,IdentityReference,IsInherited) {
    		$pfadaktuell = "$($acl.path)"
    		$pfadaktuell = $pfadaktuell -replace "Microsoft\.PowerShell\.Core\\FileSystem\:\:",""
    		if ($pfadaktuell -ne $pfadold){
    		$table += "Pfad:       $pfadaktuell" 
    		$table += "" 
    		}
    		$table += "Berechtigung:   $($ace.FileSystemRights)"
    		$table += "Benutzer/Gruppe: $($ace.IdentityReference | %{$_.Translate([System.Security.Principal.NTAccount])} )"
    		$table += "Vererbung:    $($ace.IsInherited)"
    		$table += "" 
    		$pfadold = $pfadaktuell
    	}
    }
    foreach ($acl in $(get-childitem $pfad -recurse -Exclude *.*| get-acl) ) {
    	foreach ($ace in $acl.GetAccessRules($true,$true,
    		[system.security.principal.securityidentifier]) | Where-Object {($_.PropagationFlags -match "None") -and ($_.IsInherited -match "False")} | select-object FileSystemRights,AccessControlType,IdentityReference,IsInherited) {
    		$pfadaktuell = "$($acl.path)"
    		$pfadaktuell = $pfadaktuell -replace "Microsoft\.PowerShell\.Core\\FileSystem\:\:",""
    		if ($pfadaktuell -ne $pfadold){
    		$table += "-----------------------------------------------------------------------------------------------" 
    		$table += "" 
    		$table += "Pfad:       $pfadaktuell" 
    		$table += "" 
    		}
    		$table += "Berechtigung:   $($ace.FileSystemRights)"
    		$table += "Benutzer/Gruppe: $($ace.IdentityReference | %{$_.Translate([System.Security.Principal.NTAccount])} )"
    		$table += "Vererbung:    $($ace.IsInherited)"
    		$table += "" 
    		$pfadold = $pfadaktuell
    	}
    }
    $table += ""
    $table += "==============================================================================================="
    $table += ""
    $table += "BENUTZERGRUPPEN"
    $table += ""
    $table += "==============================================================================================="
    $table += ""
    
    
    $table | Set-Content $protokoll
    

     

    Jedoch mit den Gruppen und deren Usern bekomme ich es nicht wirklich hin.. (Habe auch wie gesagt sonst nichts mit der Powershell am Hut)

    Habe es schon auf diese weise versucht:

     

     

    $Gruppe = "Dv Rechnung Lesen"
    
    $strFilter = "(&(objectCategory=group)(Name=$Gruppe))"
    
    $objDomain = New-Object System.DirectoryServices.DirectoryEntry
    
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.PageSize = 1000
    $objSearcher.Filter = $strFilter
    $objSearcher.SearchScope = "Subtree"
    
    $colProplist = "name"
    foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
    
    $colResults = $objSearcher.FindAll()
    
    foreach ($objResult in $colResults)
      {$objItem = $objResult.Properties; $objItem.name}
    

     

    (Vorlage kommt von MS)

    Jedoch finde ich nicht heraus wie ich die Benutzernamen mit auflisten kann.

    Dieses Script z.B.

     

    $Gruppe = "*"
    
    $strFilter = "(&(objectCategory=user)(Name=$Gruppe))"
    
    $objDomain = New-Object System.DirectoryServices.DirectoryEntry
    
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.PageSize = 1000
    $objSearcher.Filter = $strFilter
    $objSearcher.SearchScope = "Subtree"
    
    $colProplist = "name"
    foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
    
    $colResults = $objSearcher.FindAll()
    
    foreach ($objResult in $colResults)
      {$objItem = $objResult.Properties; $objItem.name}
    

     

    listet ja nur alle User auf (und auch nur deren Namen nicht den Benutzernamen).

    Kann ich irgendwie feststellen wie ich z.B. $objItem.name anpassen muss damit dich die Benutzernamen bekomme?

     

    Vielen Dank schonmal :)

     

    MfG Daniel

    Dienstag, 14. September 2010 11:52
  • Hallo Daniel,

    objItem.name ist der Gruppenname. Was du bräuchtest wäre die objItem.member Eigenschaft welche alle Mitglieder der Gruppe enthält. Stelle bitte sicher, dass die member Eingenschaft auch in der $colProplist Variable eingetragen ist:

    $Gruppe = "Dv Rechnung Lesen"
    
    $strFilter = "(&(objectCategory=group)(Name=$Gruppe))"
    
    $objDomain = New-Object System.DirectoryServices.DirectoryEntry
    
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.PageSize = 1000
    $objSearcher.Filter = $strFilter
    $objSearcher.SearchScope = "Subtree"
    
    $colProplist = "member"
    foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
    
    $colResults = $objSearcher.FindAll()
    
    foreach ($objResult in $colResults)
     {$objItem = $objResult.Properties; $objItem.member}
    
    

    Gruß,
    Andrei

    Mittwoch, 15. September 2010 07:15
    Moderator
  • Hallo Daniel

    konnte dir die Antwort weiterhelfen?

    Gruß
    Andrei

    Freitag, 17. September 2010 06:57
    Moderator
  • Tut mir leid, hatte sehr viel um die Ohren.

    Ja es hat ersteinmal weitergeholfen:

    #####################################################################################
    # Powershell Version 1.0															#
    # Author:     Daniel ------													#
    #																					#
    # Script Function:																	#
    #	Rekursive Auflistung der Benutzerrechte.										#
    #####################################################################################
    Set-ExecutionPolicy RemoteSigned #Berechtigungsstufe
    cls
    $pfad = "C:\users" #Ordnerpfad (Muss ohne \ am Ende eingegeben werden!
    $protokoll = Get-Date -uFormat "C:\Berechtigungen vom %d. %B.txt" #Dateiname des Protokolls
    $pfadold = "" 
    $user = ""
    $allusers = ""
    $table = @() 
    $table += ""
    $table += "========================================================================="
    $table += ""
    $table += "DATEIBERECHTIGUNGEN"
    $table += ""
    $table += "========================================================================="
    $table += ""
    foreach ($acl in $($pfad | get-acl) ) {
    	foreach ($ace in $acl.GetAccessRules($true,$true,
    		[system.security.principal.securityidentifier]) | Where-Object {($_.PropagationFlags -match "None")} | select-object FileSystemRights,AccessControlType,IdentityReference,IsInherited) {
    		$pfadaktuell = "$($acl.path)"
    		$pfadaktuell = $pfadaktuell -replace "Microsoft\.PowerShell\.Core\\FileSystem\:\:",""
    		if ($pfadaktuell -ne $pfadold){
    		$table += "Hauptverzeichnis: $pfadaktuell" 
    		$table += "" 
    		}
    		$userandgroup = "$($ace.IdentityReference | %{$_.Translate([System.Security.Principal.NTAccount])} )"
    		$user = $userandgroup.substring($userandgroup.indexof("\")+1)
    		$table += "Benutzer/Gruppe: $($user)"
    		if ($allusers.indexof("$($user)") -cmatch -1) {
    		$allusers += "$($user),"
    		}
    		$table += "Berechtigung(en): $($ace.FileSystemRights)"
    		$table += "Vererbung:    $($ace.IsInherited)"
    		$table += "" 
    		$pfadold = $pfadaktuell
    	}
    }
    foreach ($acl in $(get-childitem $pfad -recurse -Exclude *.*| get-acl) ) {
    	foreach ($ace in $acl.GetAccessRules($true,$true,
    		[system.security.principal.securityidentifier]) | Where-Object {($_.PropagationFlags -match "None") -and ($_.IsInherited -notmatch "True")} | select-object FileSystemRights,AccessControlType,IdentityReference,IsInherited) {
    		$pfadaktuell = "$($acl.path)"
    		$pfadaktuell = $pfadaktuell -replace "Microsoft\.PowerShell\.Core\\FileSystem\:\:",""
    		if ($pfadaktuell -ne $pfadold){
    		$table += "-------------------------------------------------------------------------" 
    		$table += "" 
    		$table += "Unterverzeichnis: $pfadaktuell" 
    		$table += "" 
    		}
    		$userandgroup = "$($ace.IdentityReference | %{$_.Translate([System.Security.Principal.NTAccount])} )"
    		$user = $userandgroup.substring($userandgroup.indexof("\")+1)
    		$table += "Benutzer/Gruppe: $($user)"
    		if ($allusers.indexof("$($user)") -cmatch -1) {
    		$allusers += "$($user),"
    		}
    		$table += "Berechtigung(en): $($ace.FileSystemRights)"
    		$table += "" 
    		$pfadold = $pfadaktuell
    	}
    }
    $allusersarray = $allusers.Split(",")
    $table += ""
    $table += "========================================================================="
    $table += ""
    $table += "BENUTZERGRUPPEN"
    $table += ""
    $table += "========================================================================="
    do{
    	for ($a = 0; ($allusersarray.length-2 -cge $a); $a++){
    		$Gruppe = "$($allusersarray[$a])"
    		$strFilter = "(&(Name=$Gruppe))"
    		$objDomain = New-Object System.DirectoryServices.DirectoryEntry
    		$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    		$objSearcher.SearchRoot = $objDomain
    		$objSearcher.PageSize = 1000
    		$objSearcher.Filter = $strFilter
    		$objSearcher.SearchScope = "Subtree"
    		$colProplist = "member"
    		foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
    		$colResults = $objSearcher.FindAll()
    		$i = 500
    		foreach ($objResult in $colResults){$i++} #Prüft auf Einträge
    		if ($i -cge 501){
    			$aMitglieder = foreach ($objResult in $colResults){
    			$objitem = $objResult.Properties; $objItem.member
    		}
    		for ($b = 0; ($aMitglieder.length-1 -cge $b); $b++){
    			$aMitglieder2 = $aMitglieder[$b].Split(",")
    			$aMitglieder[$b] = $aMitglieder2[0]
    			if ($allusers.indexof("$($aMitglieder[$b].substring(3))") -cmatch -1) {
    				$allusers += "$($aMitglieder[$b].substring(3)),"
    			}
    		}
    		}
    	}
    	$allusersarrayold = $allusersarray
    	$allusersarray = $allusers.Split(",")
    }Until($allusersarrayold.length -cge $allusersarray.length)
    for ($a = 0; ($allusersarray.length-2 -cge $a); $a++)
    {
    	$Gruppe = "$($allusersarray[$a])"
    	$strFilter = "(&(objectCategory=group)(Name=$Gruppe))"
    	$objDomain = New-Object System.DirectoryServices.DirectoryEntry
    	$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    	$objSearcher.SearchRoot = $objDomain
    	$objSearcher.PageSize = 1000
    	$objSearcher.Filter = $strFilter
    	$objSearcher.SearchScope = "Subtree"
    	$colProplist = "member"
    	foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
    	$colResults = $objSearcher.FindAll()
    	$i = 500
    	$table += foreach ($objResult in $colResults){$i++} #Prüft auf Einträge
    	if ($i -cge 501){
    		$table += ""
    		$table += "Mitglieder der Gruppe $($Gruppe)"
    		$table += ""
    		$aMitglieder = foreach ($objResult in $colResults){
    		$objitem = $objResult.Properties; $objItem.member
    		}
    		for ($b = 0; ($aMitglieder.length-1 -cge $b); $b++){
    			if ($aMitglieder[$b] -notmatch "NULL"){
    				$aMitglieder2 = $aMitglieder[$b].Split(",")
    				$aMitglieder[$b] = $aMitglieder2[0]
    				$table += $aMitglieder[$b].substring(3)
    			}
    	}
    	$table += ""
    	$table += "-------------------------------------------------------------------------"
    	}
    }
    "Done"
    $table | Set-Content $protokoll
    

    Leider hakt es jetzt an folgendem:

    Der Benutzerordner des Domäneusers wird nicht angezeigt. (C:\Users\userxy)

    Außerdem werden nicht alle User der Gruppe angezeigt. Ich habe zum Beispiel lokale Adminrechte (bin also in der Gruppe  Administratoren) und werde trotzdem nicht in dieser aufgelistet. Außerdem ist z.B. die Gruppe Domäne-Benutzer komplett leer (Es müssten eigentlich um die 130 User drin sein). Fehlt mir eventuell die Verbindung zur Domäne? (Domäne-Admins wird jedoch angezeigt ;) )

     

    MfG Daniel

    • Als Antwort vorgeschlagen Michael Arend Montag, 23. April 2012 14:53
    • Nicht als Antwort vorgeschlagen Michael Arend Montag, 23. April 2012 14:53
    Montag, 15. November 2010 11:54
  • Gibt es zu dem Script von Daniel bereits eine Lösung ? Ich suche genau so ein Script wie in der AW von Daniel - jedoch habe ich das Problem das ich die Gruppenmitglieder nicht angezeigt bekomme....

     

    Set-ExecutionPolicy RemoteSigned #Berechtigungsstufe
    cls
    $pfad = "C:\users" #Ordnerpfad (Muss ohne \ am Ende eingegeben werden!
    $protokoll = Get-Date -uFormat "C:\Berechtigungen vom %d. %B.txt" #Dateiname des Protokolls
    $pfadold = ""
    $user = ""
    $allusers = ""
    $table = @()
    $table += ""
    $table += "========================================================================="
    $table += ""
    $table += "DATEIBERECHTIGUNGEN"
    $table += ""
    $table += "========================================================================="
    $table += ""
    foreach ($acl in $($pfad | get-acl) ) {
     foreach ($ace in $acl.GetAccessRules($true,$true,
      [system.security.principal.securityidentifier]) | Where-Object {($_.PropagationFlags -match "None")} | select-object FileSystemRights,AccessControlType,IdentityReference,IsInherited) {
      $pfadaktuell = "$($acl.path)"
      $pfadaktuell = $pfadaktuell -replace "Microsoft\.PowerShell\.Core\\FileSystem\:\:",""
      if ($pfadaktuell -ne $pfadold){
      $table += "Hauptverzeichnis: $pfadaktuell"
      $table += ""
      }
      $userandgroup = "$($ace.IdentityReference | %{$_.Translate([System.Security.Principal.NTAccount])} )"
      $user = $userandgroup.substring($userandgroup.indexof("\")+1)
      $table += "Benutzer/Gruppe: $($user)"
      if ($allusers.indexof("$($user)") -cmatch -1) {
      $allusers += "$($user),"
      }
      $table += "Berechtigung(en): $($ace.FileSystemRights)"
      $table += "Vererbung:    $($ace.IsInherited)"
      $table += ""
      $pfadold = $pfadaktuell
     }
    }
    foreach ($acl in $(get-childitem $pfad -recurse -Exclude *.*| get-acl) ) {
     foreach ($ace in $acl.GetAccessRules($true,$true,
      [system.security.principal.securityidentifier]) | Where-Object {($_.PropagationFlags -match "None") -and ($_.IsInherited -notmatch "True")} | select-object FileSystemRights,AccessControlType,IdentityReference,IsInherited) {
      $pfadaktuell = "$($acl.path)"
      $pfadaktuell = $pfadaktuell -replace "Microsoft\.PowerShell\.Core\\FileSystem\:\:",""
      if ($pfadaktuell -ne $pfadold){
      $table += "-------------------------------------------------------------------------"
      $table += ""
      $table += "Unterverzeichnis: $pfadaktuell"
      $table += ""
      }
      $userandgroup = "$($ace.IdentityReference | %{$_.Translate([System.Security.Principal.NTAccount])} )"
      $user = $userandgroup.substring($userandgroup.indexof("\")+1)
      $table += "Benutzer/Gruppe: $($user)"
      if ($allusers.indexof("$($user)") -cmatch -1) {
      $allusers += "$($user),"
      }
      $table += "Berechtigung(en): $($ace.FileSystemRights)"
      $table += ""
      $pfadold = $pfadaktuell
     }
    }
    $allusersarray = $allusers.Split(",")
    $table += ""
    $table += "========================================================================="
    $table += ""
    $table += "BENUTZERGRUPPEN"
    $table += ""
    $table += "========================================================================="
    do{
     for ($a = 0; ($allusersarray.length-2 -cge $a); $a++){
      $Gruppe = "$($allusersarray[$a])"
      $strFilter = "(&(Name=$Gruppe))"
      $objDomain = New-Object System.DirectoryServices.DirectoryEntry
      $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
      $objSearcher.SearchRoot = $objDomain
      $objSearcher.PageSize = 1000
      $objSearcher.Filter = $strFilter
      $objSearcher.SearchScope = "Subtree"
      $colProplist = "member"
      foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
      $colResults = $objSearcher.FindAll()
      $i = 500
      foreach ($objResult in $colResults){$i++} #Prüft auf Einträge
      if ($i -cge 501){
       $aMitglieder = foreach ($objResult in $colResults){
       $objitem = $objResult.Properties; $objItem.member
      }
      for ($b = 0; ($aMitglieder.length-1 -cge $b); $b++){
       $aMitglieder2 = $aMitglieder[$b].Split(",")
       $aMitglieder[$b] = $aMitglieder2[0]
       if ($allusers.indexof("$($aMitglieder[$b].substring(3))") -cmatch -1) {
        $allusers += "$($aMitglieder[$b].substring(3)),"
       }
      }
      }
     }
     $allusersarrayold = $allusersarray
     $allusersarray = $allusers.Split(",")
    }Until($allusersarrayold.length -cge $allusersarray.length)
    for ($a = 0; ($allusersarray.length-2 -cge $a); $a++)
    {
     $Gruppe = "$($allusersarray[$a])"
     $strFilter = "(&(objectCategory=group)(Name=$Gruppe))"
     $objDomain = New-Object System.DirectoryServices.DirectoryEntry
     $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
     $objSearcher.SearchRoot = $objDomain
     $objSearcher.PageSize = 1000
     $objSearcher.Filter = $strFilter
     $objSearcher.SearchScope = "Subtree"
     $colProplist = "member"
     foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
     $colResults = $objSearcher.FindAll()
     $i = 500
     $table += foreach ($objResult in $colResults){$i++} #Prüft auf Einträge
     if ($i -cge 501){
      $table += ""
      $table += "Mitglieder der Gruppe $($Gruppe)"
      $table += ""
      $aMitglieder = foreach ($objResult in $colResults){
      $objitem = $objResult.Properties; $objItem.member
      }
      for ($b = 0; ($aMitglieder.length-1 -cge $b); $b++){
       if ($aMitglieder[$b] -notmatch "NULL"){
        $aMitglieder2 = $aMitglieder[$b].Split(",")
        $aMitglieder[$b] = $aMitglieder2[0]
        $table += $aMitglieder[$b].substring(3)
       }
     }
     $table += ""
     $table += "-------------------------------------------------------------------------"
     }
    }
    "Done"
    $table | Set-Content $protokoll

     


    Problem ist das ich folgenden Fehler zurückbekomme:

     

     
    Ausnahme beim Aufrufen von "FindAll" mit 0 Argument(en):  "Die angegebene Domäne ist nicht vorhanden, oder es konnte keine Verbindung hergestellt werden.
    "
    Bei C:\Scripts\1.ps1:85 Zeichen:37
    +         $colResults = $objSearcher.FindAll <<<< ()
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : DotNetMethodException

     

    hat einer die Lösung ?

     

    Vielen Dank für eure mithilfe..

     

    Gruß, Michael

     

    Montag, 23. April 2012 14:57