none
Fehler bei Powershell-Skript RRS feed

  • Frage

  • Guten Morgen!

    Wir führen bei uns in der Firma schon seit längerer Zeit ein Skript aus, dass AD-Gruppen  aus 2 OUS (einer verschiedenen) Domäne synchron hält. Klappt hervorragend, doch seit heute morgen lässt sich das Skript nichtmehr wirklich starten.

    Um 6:00 war folgender Fehler in das Logfile geschrieben worden (Skript wird automatisch jeden morgen am Server ausgeführt und nochmals um 12:00):

    Get-QADGroup : Das Steuerelement wird vom Server nicht untersttzt. Das Steuerelement ist erforderlich.
    At C:\dotnet\ImportGroupMembers.ps1:17 char:37
    + ForEach($QuellGruppe in Get-QADGroup <<<<  -SearchRoot $Quell_OU) {
        + CategoryInfo          : NotSpecified: (:) [Get-QADGroup], DirectoryAcces 
       sException
        + FullyQualifiedErrorId : Quest.ActiveRoles.ArsPowerShellSnapIn.DirectoryA 
       ccess.DirectoryAccessException,Quest.ActiveRoles.ArsPowerShellSnapIn.Power  
      shell.Cmdlets.GetGroupCmdlet
     

    Als ich denn Fehler entdeckt hatte, versuchte ich es lokal am Rechner auszuführen und es kam ein neuer Fehler:

    Get-QADGroup : The server does not support the control. The control is critical.
    In C:\Users\useruser\Desktop\ImportGroupMembers.ps1:17 Zeichen:25
    + ForEach($QuellGruppe in Get-QADGroup -SearchRoot $Quell_OU) {
    +                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Get-QADGroup], DirectoryAccessException
        + FullyQualifiedErrorId : Quest.ActiveRoles.ArsPowerShellSnapIn.DirectoryAccess.DirectoryAccessException,Ques 
       t.ActiveRoles.ArsPowerShellSnapIn.Powershell.Cmdlets.GetGroupCmdlet
     

    Woran kanns liegen?

    Ich hoffe ihr könnt mir weiterhelfen!

    Vielen Dank im Vorraus!

    Liebe Grüße,

    Patrick


    • Bearbeitet Menthoxx Montag, 5. August 2013 08:36
    Montag, 5. August 2013 08:29

Antworten

  • Hast du dir die Inhalte der Variable nicht nur angesehen sondern auch mal direkt ausprobiert?

    Wenn du den Pfad zu der Gruppe aus der Variablen nimmst und Ihn direkt ausprobierst (Get-QADGroup Identity <Pfad>) und der Fehler kommt immer noch, dann stimmt der Pfad wahrscheinlich nicht!

    Dann solltest du die Gruppe mal nur über Ihren Namen (ohne Pfad) mit Get-QADGroup einlesen und dir den Pfad anzeigen lassen!


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Menthoxx Montag, 5. August 2013 13:49
    Montag, 5. August 2013 13:27

Alle Antworten

  • Hallo Patrick!

    Zuerst einmal das ist kein neuer Fehler sondern der Selbe nur auf Englisch.

    Ich kenne den Fehler nicht habe aber für dich im Internet gesucht.
    Hier wird man fündig wenn man den Kern der Fehler (am besten in Englisch) in die Suchmaschine eingibt!

    Der Fehler wird hier Diskutiert:
    http://powergui.org/thread.jspa?threadID=11609
    http://www.sapien.com/forums/viewtopic.php?t=5025&p=5025

    Ebenso findest du in dem folgenden Link was mit control (Steuerelement) beim LDAP gemeint ist:
    http://docs.oracle.com/cd/E19957-01/817-6707/controls.html

    Zitat anfang: >>>
    … A control is a way to specify additional information as part of a request and a response. …

    A control specifies the following information:

    - A unique object identifier (OID) as defined by the creator of the control. The OID identifies the control. Table 13-1 lists some common OIDs.
    - An indication of whether or not the control is critical to the operation.
    - Optional data related to the control. For example, the server-side sorting control needs the attributes that would be used for sorting search results.
    <<< Zitat ende

    Wenn ich das alles richtig verstehe, wird der Pfad (OID) zur Gruppe (Domäne) nicht gefunden.

    Versuche die Domäne abzufragen, dann die OU (in der die Gruppe ist) dann wieder die Gruppe.

    # Beipeil Domäne abfregen (DNS hat jede Domäne)
    Get-QADObject -type domainDNS  -SearchRoot 'dc=MeineDomäne,dc=com'


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Menthoxx Montag, 5. August 2013 09:54
    • Tag als Antwort aufgehoben Menthoxx Montag, 5. August 2013 09:54
    Montag, 5. August 2013 09:29
  • Hallo!

    Hab nun mal nur die Gruppen abgefragt von der 2ten Domäne (mein Computer befindet sich in der 1ten Domäne).

    Er spuckt mir zwar die 50 Gruppen aus aber dann kommt wieder die Meldung:

    Get-QADGroup : The server does not support the control. The control is critical.
    In C:\Users\atbrug\Desktop\ASDASD.ps1:2 Zeichen:1
    + Get-QADGroup -SearchRoot $Quell_OU
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Get-QADGroup], DirectoryAccessException
        + FullyQualifiedErrorId : Quest.ActiveRoles.ArsPowerShellSnapIn.DirectoryAccess.DirectoryAccessException,Ques 
       t.ActiveRoles.ArsPowerShellSnapIn.Powershell.Cmdlets.GetGroupCmdlet
     

    Ich vermute ich hab aus irgendwelchen Gründen auch immer, keinen Zugriff mehr auf die Domäne 2 bzw. eingeschränkte Zugriffsrechte...

    Kann ich "Connect-QADService -Service Domäne2" irgendwie and "Get-QAdGroup -Searchroot $Quell_OU" dran hängen?

    • Bearbeitet Menthoxx Montag, 5. August 2013 10:16
    Montag, 5. August 2013 10:01
  • In den anderen Foren wird noch eine andere Ursachen vermutet.

    Ein Problem mit der Speicherverwaltung bei mehr als 30-40 Objekten

    Probiere mal ob der Get-QADGroup Befehl mit dem -Pagesize Parameter besser läuft.

    (Zusätzlich würde ich den Befehl in Klammern schreiben, schadet nichts...)

    # Code Fragment
    ForEach($QuellGruppe in (Get-QADGroup -SearchRoot $Quell_OU -PageSize 2000)) {.......}


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Menthoxx Montag, 5. August 2013 11:12
    • Tag als Antwort aufgehoben Menthoxx Montag, 5. August 2013 12:25
    Montag, 5. August 2013 10:24
  • Zwar kann ich das Skript jetzt ausführen, aber leider mit einer Menge an Fehlermeldungen.

    Das Entfernen und Hinzufügen von Usern in eine Gruppe wird duch eine Fehlermeldung verhindert:

    (Die Member werden in der Domäne 1 hinzugefügt oder entfernt, der Computer an dem ich das Skript ausführe ist in der Domäne 1)

    Remove-QADGroupMember : Cannot resolve directory object for the given identity

    Montag, 5. August 2013 11:18
  • Hallo Patrick!

    Ich verstehe nicht!
    Du hast meinen oberen Post als Antwort Markiert. Ist das Problem nun gelöst oder nicht?

    Kennst du die grundsätzliche Vorgehensweise wie man Fehler in Scripten findet, also Debuggen?

    Schau dir die Inhalte von den Variablen an!
    Ich nehme mal an das den Code aus diesem Thread verwendest!?

    Dann musst du herausfinden ob der Inhalt der Variable $ZielGruppe richtig ist!


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    Montag, 5. August 2013 12:18
  • Das Problem ist noch nicht gelöst! Habe da wohl aus Versehen hingeklickt.

    Das kenn ich, bin das ganze Script schon in kleinen Schritten durchgegangen und habe mir die Variablen angesehen...und ehrlich gesagt kann ich nix komisches feststellen. Es kann sich auch nix verändert haben, das Problem tritt seit heute auf und niemand hat die Datei bearbeitet oder sonstiges. Kann mir das selber nicht erkären.

    Vielen Dank für die Hilfe!

    Montag, 5. August 2013 12:35
  • Hast du dir die Inhalte der Variable nicht nur angesehen sondern auch mal direkt ausprobiert?

    Wenn du den Pfad zu der Gruppe aus der Variablen nimmst und Ihn direkt ausprobierst (Get-QADGroup Identity <Pfad>) und der Fehler kommt immer noch, dann stimmt der Pfad wahrscheinlich nicht!

    Dann solltest du die Gruppe mal nur über Ihren Namen (ohne Pfad) mit Get-QADGroup einlesen und dir den Pfad anzeigen lassen!


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert Menthoxx Montag, 5. August 2013 13:49
    Montag, 5. August 2013 13:27
  • Eine Gruppe ist nichtmehr in der Domäne 1 und trotzdem will das Skript Member daraus entfernen (; sehr komisch, aber das ist dann wohl der Fehler danke!

    Montag, 5. August 2013 13:49