Jump to content

torstenv

Members
  • Gesamte Inhalte

    118
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von torstenv

  1. Du, es ist wirklich nicht so, dass ich undankbar klingen will, ich bin durchaus sehr glücklich darüber, dass sich hier jemand meiner annimmt. Worauf ich durch mein ständiges Nachfragen halt hinaus will ist, dass ich nicht denke, dass andere Programme grundsätzlich anders auf das AD zugreifen können, als ich das in meinem VB Programm auch könnte. Egal, ob andere Programme das schaffen, das bringt mich nicht weiter, denn die Antwort auf diese Frage hat keinen Einfluss darauf, was ich in meinem Programm machen muss. Es ist doch so: Mein Programm kommuniziert mit dem AD, das heißt, es gibt einen Request, und darauf bekommt mein Programm unter Umständen keinen Reply und dann hängt das Programm. Es kann doch nicht sein, dass das "broken by design" ist, oder irre ich da? Was mir helfen würde, wären konkrete funktionierende Beispiele, wie man per LDAP (mit einstellbarem Timeout) die Mitglieder einer Gruppe ermitteln kann. Auch das kann ich nicht nachvollziehen. Ich greife doch in meinem VB6 Programm nicht auf andere Schnittstellen zu, als ein C++ Programm auch... Jedenfalls trotzdem Danke für die Hilfe. Dann muss ich versuchen andere Quellen anzuzapfen. Gruß, T.
  2. Grundsätzlich gebe ich dir recht, aber eine Anforderung an Programme ist auch Fehlertoleranz. Besonders, wenn man was schreibt, was man nicht ausschließlich selbst benutzt, sondern auch (leider häufig relativ unbedarfte) Anwender. Wenn dann andere Teile Fehler schmeißen, darf es keinen Einfluss auf ein _gutes_ Programm haben, denn der Anwender sieht nur, dass mein Programm hängt und nix mehr tut. Er meint, mein Programm sei ******e, in Wirklichkeit ist es sein doofes AD. Und ich würde gerne _gute_ Programme schreiben. Ich komme also nicht drumrum, ich muss Gruppenmitglieder auslesen und gleichzeitig bei den Abfragen ein Timeout verwenden. Keine Tipps zur Sache?
  3. Nach mehreren Stunden des Versuchens krieg ich es nicht hin. Bei mir funktionieren die Scripte aus dieser Abteilung nicht (Provider: Unbekannter Fehler bei "Set objRSAD = objConn.Execute(strSQL)"). Auch alle meine anderen eigenständigen Versuche, über ADO alle Mitglieder einer Gruppe auszulesen, sind bei mir fehlgeschlagen. Wie im OP oben schon beschrieben habe, mit einem einfachen Getobject klappt das prima, außer bei (bisher genau) einer Gruppe, wo ich dann einfach keine Antwort vom AD erhalte und mein Programm dann hängt. Ein Timeout würde helfen, aber ich weiß nicht, wie man das bei einem GetObject einrichtet. Ehrlich gesagt, weiß ich gar nicht genau, welchen Provider genau GetObject benutzt und ob man da nicht doch noch Optionen einstellen kann... Kennt jemand vielleicht einen Link, der mir den Unterschied zwischen ADO und dem, was ein GetObject macht, erklären kann? Wenn ich's verstehen würde, würd's vielleicht helfen.
  4. Ich bin willens, es auszuprobieren! Sag einfach mal, wie man das machen würde. Über objGroup.Properties("Timeout") geht es nicht, das habe ich probiert, das ist irgendwie falsch. Das müsste man doch anpassen können... Was hast du denn da gefunden? Das weiß ich nicht. Das müsste ich ausprobieren. Der Code oben funktioniert so wie er ist bei allen anderen ADs und ist auch ausreichend schnell. Wie ginge das denn über ADO? Ich könnte das testen... Freue mich über Hilfe! Gruß, T.
  5. Hi! Ich habe ein paar Code-Zeilen, die lesen Informationen aus dem ActiveDirectory per LDAP aus. Hierzu gehört das Erfassen der Mitglieder einer Gruppe. Vereinfacht dargestellt mache ich das so: Set objGroup = GetObject("LDAP://" & strDN) objGroup.GetInfoEx Array("primaryGroupToken"), 0 intGroupToken = objGroup.Get("primaryGroupToken") Debug.Print "marker 1" For Each objMember In objGroup.Members Debug.Print "marker 2" ' hier kommt nun weiterer Code Next Debug.print "marker 3" Mein Problem ist nun, dass bei einem bestimmten (irgendwie seltsamen) Active-Directory bei einem bestimmten AD-Objekt (einer bestimmten Gruppe) "Marker 1" noch ausgegeben wird, "Marker 2" oder "Marker 3" aber nie. Man könnte ja nun denken, dass das einfach nur dauert, weil die Gruppe gerade unheimlich viele Mitglieder hat und Geduld würde das Problem lösen. Das ist aber nicht so. Der Rechner hängt und "Marker 2" wird nie erreicht. Selbst wenn Geduld helfen würde, der Benutzer sieht, dass mein Programm nicht mehr reagiert, weil es hier scheinbar ewig wartet. Frage: Kann man da irgendwie ein Timeout definieren und dann die Aktion als "failed" deklarieren oder so? Das würde mir schon helfen. Ich hätte lieber die Info, dass ich die Mitglieder einer Gruppe nicht bestimmen kann, als dass mein Programm nicht weiter läuft... Vielen Dank im voraus! Gruß, T.
  6. Manchmal hat man es mit Vorgaben "von Oben" zu tun, die man nunmal umsetzen muss, auch, wenn man selbst bessere/andere Wege nehmen würde. Ich bin nicht immer der Entscheider. In diesem besonderen Fall geh es auch gar nicht darum, dass ich das jetzt umsetzen muss, aber ich muss wissen, wie es theoretisch machbar wäre. Es bleibt die Frage (um deren Beantwortung ich auch leider nicht umhin komme), wie man z.B. ein externes NAS per GPO in die "trusted Zone" übernimmt, sodass diese Rückfrage unterbleibt. Dieser http://windowsitpro.com/article/articleid/78049/jsi-tip-6644-how-can-i-use-group-policy-to-add-a-site-to-the-trusted-sites-zone.html"]Link beschreibt das zwar, aber auf meinem Vista reicht es scheinbar nicht alleine aus, wenn ich gemäß dieser Anleitung ein NAS mit "file://10.20.30.40" in die "Trusted"-Zone mit aufnehme. Vielmehr scheint es noch notwendig, den "Security Level" auf "Custom" umzustellen und zu konfigurieren, dass "Lauch applications and unsafe files" auf "enabled" gestellt wird. Wie das geht, findet man hier beschrieben. Mal sehen, wie ich das dem Admin erklären kann...
  7. Achtung, ich drücke jetzt etwas auf die Tränendrüse: Bin derzeit echt krank und ans Bett gefesselt, darf ich (und sei es nur aus Gründen des Mitgefühls und der Nächstenliebe ;) ) um einen Link bitten, der die entsprechende Richtlinie erläutert? Das wäre echt nett!!! Meine Krankenschwester nimmt mir den Laptop gleich wieder weg, sodass
  8. Sorry, war ziemlich krank, werde mich drum kümmern, ich denke, mir ist klar geworden, es geht um die Zone. Mir ist nur nicht klar, warum die Dateien bei diesem Netz nicht in der "richtigen" Zone liegen, bzw, wie man die Zonenzugehörigkeit eines NAS global im Netz ändert. Aber ich hole erst mal die Infos ein, dann melde ich mich wieder.
  9. Ich habe mal einen Screenshot angehängt.
  10. Hi! Bei einem mir bisher weitgehend fremden Netzwerk soll Software über Scripte automatisch verteilt werden. Hierzu liegt die Software auf FileServern. In einem Logon-Script wird eine Privilegieneskalation vorgenommen (sowas wie runas), um den darauf folgenden Teil mit admin-Rechten durchzuführen. Der User, unter dem das Setup.exe dann gestartet werden soll, ist Domain-Admin. Das Problem ist nun, dass dies nicht funktioniert. Ein manueller Test ergab, dass der Rechner die "Datei öffnen - Sicherheitswarnung" ausgibt und das Programm nicht automatisch anstartet, wenn man es per Doppelklick manuell oder per Rechtsklick mit "Ausführen als" startet. In meinem Netzwerk hier habe ich das Problem nicht. Ich kann mich auch nicht erinnern, irgendwas Besonderes konfiguriert zu haben, damit ich das Problem nicht habe. Es tut mir Leid, ich bin mir sehr sicher, dass diese Frage schon zig mal beantwortet wurde, jedoch habe ich keine befriedigende Antwort gefunden, sodass ich noch mal fragen muss. Alles was ich gefunden habe, sind Registry-Änderungen, die den Sicherheitslevel herabsetzen. Da habe ich aber den Eindruck, dass das keine gute Idee sei. Meiner Meinung nach sollte ein Freigabepfad des Domain-Controllers automatisch als sichere Zone gelten und damit (wie bei mir) die Software auch einfach so ohne Rückfrage gestartet werden. Warum ist das hier nicht so und was kann ich tun ohne andere (sinnvolle) Sicherheitsmechanismen (Datei im Internet anklicken) aufzuweichen? Danke im voraus! T.
  11. Erst mal vielen Dank für die Antworten. Ich werde versuchen das umzusetzen.
  12. Hab's mir gerade angesehen, die MS-Seite sagt, dass es 2k3 mit SP2 sein muss. Was, wenn der Kunde nur einen W2k oder nicht SP2 im Einsatz hat? – Hmmm. Hast du da mal einen Beispiel-Aufruf für mich?
  13. Ups, da hätte ich vielleicht ausführlicher sein sollen. Da eine Sicherheitsfilterung des GPO auf die Mitgliedschaft einer Gruppe bezogen ist, bräuchte ich auch diese Infos repliziert... Ist das auch im SYSVOL?
  14. Hi! Ich muss häufiger bei fremden Netzen Gruppenrichtlinien konfigurieren. Bei Systemen mit mehr als einem AD-Server kommt es dabei zu dem Problem, dass der Server, auf dem ich eine Veränderung vorgenommen habe, diese auch schon kennt und an die anmeldenden Systeme anwendet, der 2. Server aber noch nicht von der Änderung erfahren hat und daher seinen anmeldenden Rechnern noch nicht die Veränderung mitteilt. Man kann etwas warten (wie lange eigentlich?) und dann replizieren sich die Server untereinander und dann werden die neuen Gruppenrichtlinien auch auf die anmeldenden Rechner angewendet. Meine Frage ist nun konkret: wie kann ich die sofortige Replikation der Server untereinander erzwingen? Am besten über einen Befehl in der Console. Dann würde ich dies tun und dann auf einer Workstation ein "gpupdate /force" anschließen. Meine Hoffnung ist, dass ich dann die sofortige Anwendung der Richtlinie sehen könnte. Freue mich über Tipps. Gruß, T.
  15. Nein, das war es auch nicht. Hatte noch mal die Gelegenheit, das Problem an einem anderen Rechner nachzuvollziehen. Sobald ich den Rechner herunterfahre oder neu starte, ohne die anstehenden Updates zu installieren, bin ich nicht mehr imstande die zu installierenden Updates auszuwählen, weil der Dialog zum Aus- oder Abwählen der Updates nicht mehr aufgerufen werden kann. Auf allen meinen Rechnern. Der Rechner bietet mir dann zwar wieder an, beim Herunterfahren die Updates zu installieren, also ihm ist klar, dass da noch ausstehende Updates vorhanden sind, aber mit allen bisherigen Tricks (außer dem Löschen des SoftwareDistributionsverzeichnisses, was ich für etwas unschön halte, weil die Updates dann neu gezogen werden müssten) war es mir nicht möglich, die benutzerdefinierte Installation wieder aufzurufen. Mir fällt echt nichts mehr dazu ein. Wenn alles schief läuft und keiner mehr eine gute Idee für mich hat, müsste ich vielleicht mal vor dem Aufrufen der Benutzerdefinierten Installation beim nächsten Update die Prozessstarts mit einem Tool überwachen, um zu sehen, welcher Prozess mit welchen Optionen aufgerufen wird, um zu diesem Dialog zu gelangen. So "magisch" kann das ja nicht sein.
  16. Das ist ein super Hinweis. Danke. Ich werde es beim nächsten Update ausprobieren. Derzeit stehen bei mir keine mehr an, daher kann ich es nicht sofort testen.
  17. Ich habe das noch mal nachvollzogen. Es gibt den Baloon in der Taskbar, der mir mitteilt: Da klicke ich drauf und bekomme ein Popup Wenn ich hier jetzt auf "Abbrechen" klicke (weil ich im Moment doch keine Zeit habe, mich darum zu kümmern), dann bekomme ich diesen Dialog nicht mehr zurück. Ich kenne keine Möglichkeit den Dialog irgendwie wieder aufzumachen. Stattdessen bietet er dann immer an, dass ich beim Herunterfahren die Updates installieren lassen kann, aber ohne, dass ich die Möglichkeit habe, bestimmte Updates auszuschließen, so, als wenn ich auf "Benutzerdefinierte Installation" geklickt hätte. Meine Frage ist also: Wie komme ich zurück zur "Benutzerdefinierten Installation"?
  18. Danke, das ist keine schlechte Idee. Zwar keine optimale Lösung des Problems (z.B. weil der Download der Updates dann neu durchgeführt werden muss), aber zumindest ein Workaround. Werde ich mir mal ansehen.
  19. Genau. Das Updatesymbol kommt nicht mehr. Nein, das hilft leider nicht. Das Problem ist, es gibt ja nichts mehr zu detecten. "Detected" ist ja schon, der nächste Schritt wäre ja anwenden/installieren. Aber vorher will ich noch manuell wählen, welche Updates ich ausschließen will, und das kann ich nicht, wenn ich diesen Dialog nicht mehr zu sehen bekomme. Mit dem "genau" ist das so eine Sache, den exakten Text der Meldungen habe ich im Moment natürlich nicht, aber so in etwa: Wenn das Symbol in der Taskleiste erscheint "Neue Updates wurden heruntergeladen und können jetzt installiert werden", kann man dort rechtsklicken und "Updates auswählen" anklicken. Dort kann ich bestimmte Updates abwählen. Wenn ich bestätige kommt dann noch die Nachfrage "Für diese Updates keine weiteren Hinweise anzeigen". Das hake ich an und gut ist. Um diese Auswahlliste geht es. Die hätte ich gerne wieder, wenn ich mich nicht sofort um die Updates kümmern konnte und daher erst mal "später installieren" geklickt habe. Leider komme ich da von da an nicht mehr dran.
  20. Hi! Mein WSUS-Client funktioniert prima. Wenn Updates zur Verfügung stehen, bekomme ich den Baloon rechts unten neben der Uhr. Da klicke ich dann drauf und wähle die Updates ab, die ich nicht haben will. So weit so gut. Manchmal habe ich keine Zeit mich darum sofort zu kümmern und verlege die Entscheidung auf später. Dann wird beim Herunterfahren angeboten, dass ich die anstehenden Updates jetzt noch nicht installieren will und dennoch herunterfahren will. Das mache ich dann auch. Am nächsten Tag will ich mir dann die anstehenden Updates ansehen, ich bekomme es aber nicht mehr hin, diese Auswahlliste zu sehen, mit der ich eben die einzelnen Updates abwählen kann. Wie geht das? Danke im voraus! Gruß, T.
  21. Am Ende blieb mir nix anderes übrig, als diese VBS-Variante zu nehmen. Die bietet im Übrigen auch direkt den Vorteil, dass sie nicht UNICODE, sondern ASCII schreibt, was ja auch direkt eines meiner Bedürfnisse erfüllt. Also per Umweg Ziel erreicht. Thx, T.
  22. Mist. Es muss irgendwie mit Bordmitteln und aus der Batch heraus möglich sein. Die CSCRIPT-Variante hatte ich auch schon überlegt, aber das ist natürlich auch nur die letzte Möglichkeit, wenn nichts Anderes mehr geht. Ich hatte halt die Hoffnung, dass es die Möglichkeit geben könnte, ein echo in eine Datei zu machen und die dann wieder mittels type mit Pipe oder einem for oder etwas in der Art zu zerlegen. Eigentlich hatte ich gehofft, dass echo etwas schlauer ist, also das man z.B. das CRLF mittels Schalter unterbinden kann. Ich habe aber auch sowas von GAR KEINE Doku zu echo gefunden. Jetzt weiß ich auch warum. Es gibt nichts zu dokumentieren. echo ist strohdumm und kann schlichtweg gar nix. Kanntest du XEcho schon, oder hast du das wegen meiner Nachfrage rausrecherchiert? Falls letzteres: Wonach hast du gesucht? Ich bin total verzweifelt, weil es zu echo einfach keine brauchbare Doku gab. Nichts wirklich praxisrelevantes. Es geht um Proof-Of-Concept Arbeiten für Dokumentationen für Dummies. Dinge, die die Profis einfach wissen, werden oft von Entscheidern nicht verstanden und infolgedessen angezweifelt. Darum muss man Entscheidern Dinge oftmals zeigen ("Guckst du da!"), in diesem Falle die Möglichkeit, über einfache Scripte fast beliebige Dateiinhalte zu erzeugen.
  23. Danke für den Versuch, aber gerade um die Möglichkeit das aus der Batch zu machen geht es.
  24. Wie kann man ein ASCII Zeichen (also nicht UNICODE) ausgeben? Ich hätte gerne, dass so etwas wie ein echo " ">Leerzeichen.txt eine Textdatei anlegt, in der ganz exakt ein Byte mit dem CHAR32 angelegt wird. Mein erstes Problem war ja schon, dass echo immer ein CRLF dranhängt. Aber selbst wenn ich das lösen würde, gibt echo immer UNICODE Zeichen aus, also eben 2 Bytes, selbst bei einem "echo Z>Z.txt". Also 2 Probleme: ohne Zeilenumbruch und ASCII statt UNICODE Alternativ wäre natürlich auch eine andere Lösung interessant, die in der Lage ist, eine Datei zu erzeugen, die exakt ein Byte lang ist und meinen Wunschwert enthält...
  25. Wie kann man ein ">"-Zeichen per echo ausgeben? Also sowas wie echo "ping 127.0.0.1>NUL">sleep.bat Der Sinn ist, dass das erste ">" Zeichen mit dem echo ausgegeben werden soll, das 2. ">" soll eben als Redirect verwendet werden.
×
×
  • Neu erstellen...