skyacer 10 Geschrieben 14. Dezember 2010 Melden Teilen Geschrieben 14. Dezember 2010 Hallo, gibt es eine Möglichkeit ein Kixscript auf Fehler zu testen. Habe mir einScript zusammengebastelt aber irgendwo beim ausführen bricht das Script ab und beendet sich dann ohne das ich weiß wo der Fehler genau ist. Ausserdem habe ich in einem anderen Script ein "call name.kix" eingebaut und an der Stelle bricht er auch mit Fehler ab. Gestartet wird das Kixscript bei Anmelden am System und liegt im Netlogonverzeichniss. Ich hoffe ihr könnt mir darin helfen. Grüße Sky Zitieren Link zu diesem Kommentar
pred 10 Geschrieben 14. Dezember 2010 Melden Teilen Geschrieben 14. Dezember 2010 Mir hat bei Problemen ein Editor mit Syntax Highlighting für Kixtart (z.B. Notepad++) meistens schon geholfen. Vom einem Skript rufe ich mittels "kix32.exe name.kix" ein Kix Skript auf. Zitieren Link zu diesem Kommentar
skyacer 10 Geschrieben 14. Dezember 2010 Autor Melden Teilen Geschrieben 14. Dezember 2010 ja so rufe ich das in einer Batch auch auf. Aber in einer Kix wird es doch mit call aufgerufen oder? Wie verhält sich der Befehl call eigentlich. Wartet das Haupt-Kixfile bis das Sub-Kixfile abgearbeitet ist oder wird es nur parallel ausgeführt? Zitieren Link zu diesem Kommentar
humpi 11 Geschrieben 17. Dezember 2010 Melden Teilen Geschrieben 17. Dezember 2010 Hallo, kix hat auch einen Debug Modus. Der Befehl im Script lautet dann DEBUG ON. Dann wird das Script "zeilenweise" abgearbeitet. Vielleicht solltest du statt call mal shell oder run versuchen. Shell unterbricht das Script, run führt das Script weiter aus. Zitieren Link zu diesem Kommentar
skyacer 10 Geschrieben 22. Dezember 2010 Autor Melden Teilen Geschrieben 22. Dezember 2010 Hi, aber wird in einer KIX eine andere KIX nicht durch Call aufgerufen? Aber dann habe ich noch ein anderes Problem. Ich habe zwei Sicherheitsgruppen die eine sagne wir heißt mal Gruppe1 und die andere Gruppe2 und Gruppe3. In den Gruppen 1 & 2 sind jeweils Computer als Mitglieder eingetragen. In Gruppe3 User Wenn ein Script bei mir so aussehen würde führt er die nicht aus. If Ingroup("gruppe3") If Ingroup("gruppe1") shell blabla EndIf If Ingroup("gruppe2") shell blabla EndIf EndIF Lasse ich sie aber nur so aussehen klappt es ohne Probleme. If Ingroup("gruppe3") shell blabla shell blabla EndIF Die Syntax stimmt soweit und die jeweiligen Computer sind auch in den Gruppen vertreten. Nur warum funktioniert die Abfrage nicht so wie sie soll? Ich hoffe ihr könnt mir darin helfen. Grüße und Danke Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 23. Dezember 2010 Melden Teilen Geschrieben 23. Dezember 2010 Mit "call script kannst" Du ein anderes Script aufrufen. Warm es im speziellen Fall nicht klappt, k.A. Hier solltest Du das Script mal posten. Zur letzten Frage: "if ingroup"... testet den aktuell angemeldeten User ab, nicht das Computer-Konto. Vielleicht bringt Dich diese UDF weiter ComputerInGroup() - returns if the PC is a member of a specified group - KiXtart.org - official site (nicht getestet). -Zahni Zitieren Link zu diesem Kommentar
skyacer 10 Geschrieben 27. Dezember 2010 Autor Melden Teilen Geschrieben 27. Dezember 2010 Okay das mit dem Call hab ich herrausgefunden. Musste nur den absoluten Pfad angeben dann klappte es. Aber mit dem Link von Zahni hab ich noch einige Probleme. WO gebe ich den bei dem Script die Gruppe an wo die Computer sich drin befinden. Ich kenn mich zwar einigermaßen damit aus bzw. klappt es soweit aber da hört es dann bei mir auf. Könnte mir also kurz wer dabei helfen? Grüße Sky Function ComputerInGroup($group,optional $Domain) Dim $oGrp if not $domain $domain=@domain endif $oGrp = GetObject("WinNT://" + $domain + "/" + $group + ",group" ) if @error exit 1 endif if $oGrp.IsMember("WinNT://" + $domain + "/" + @wksta + "$$" ) $ComputerInGroup=1 else $ComputerInGroup=0 endif endfunction Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 27. Dezember 2010 Melden Teilen Geschrieben 27. Dezember 2010 ComputerInGroup ist ein Funktion und die will Parameter haben. Ist doch eigentlich selbsterklärend. -Zahni Zitieren Link zu diesem Kommentar
skyacer 10 Geschrieben 27. Dezember 2010 Autor Melden Teilen Geschrieben 27. Dezember 2010 Das ist mir auch klar. Nur wo geb ich in der Funktion den vor das er in der Gruppe "Inland" suchen soll. Ich weiß nur nicht wo ich das angeben muss. Grüße Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 27. Dezember 2010 Melden Teilen Geschrieben 27. Dezember 2010 Die Frage ist, wie man eine Funktion aufruft. Genau wie alle anderen Funktionen auch. Z.B. mit if.... Zitieren Link zu diesem Kommentar
skyacer 10 Geschrieben 27. Dezember 2010 Autor Melden Teilen Geschrieben 27. Dezember 2010 Also mein Script ist derzeit so aufgebaut, nur steckt da noch irgendwo der Wurm drin. Function ComputerInGroup($group) Dim $oGrp $domain=@domain $oGrp = GetObject("WinNT://" + $domain + "/" + $group + ",group" ) if @error exit 1 endif if $oGrp.IsMember("WinNT://" + $domain + "/" + @wksta + "$$" ) $ComputerInGroup=1 else $ComputerInGroup=0 endif endfunction If InGroup("GoLabel") If ComputerInGroup("LabelInland") = 1 If Exist("\\server01\scripts$\Starte GoLabel Inland.lnk") Copy "\\server01\scripts$\Starte GoLabel Inland.lnk" "%userprofile%\Desktop\" EndIf EndIf EndIf Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 27. Dezember 2010 Melden Teilen Geschrieben 27. Dezember 2010 das folgende Beispiel funtioniert bei mir: (es wurde die globale Gruppe "testcomputer" erstellt mit dem Computerkonto als Mitglied) Function ComputerInGroup($group) Dim $oGrp $domain=@domain $oGrp = GetObject("WinNT://" + $domain + "/" + $group + ",group" ) if @error exit 1 endif if $oGrp.IsMember("WinNT://" + $domain + "/" + @wksta + "$$" ) $ComputerInGroup=1 else $ComputerInGroup=0 endif endfunction If ComputerInGroup("testcomputer") = 1 color r+/n BIG ? "TEST" ? "TEST" ? small color w/n EndIf Zitieren Link zu diesem Kommentar
skyacer 10 Geschrieben 27. Dezember 2010 Autor Melden Teilen Geschrieben 27. Dezember 2010 Also ich hab das mal genauso übernommen und ich erhalte immer noch den gleichen Fehler: Script error: unkown command !. Function ComputerInGroup($group) Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 27. Dezember 2010 Melden Teilen Geschrieben 27. Dezember 2010 Schön, dass Du erst jetzt die FM postest. Welche KIX-Version wird denn verwendet (kix32 /? ) ? Zitieren Link zu diesem Kommentar
skyacer 10 Geschrieben 27. Dezember 2010 Autor Melden Teilen Geschrieben 27. Dezember 2010 Alles klar. Fehler gefunden. Auf dem Server liegt die 4.61 und auf den Clients liegt die 3.62. Versionen getauscht und nun gehts auch ohne Probleme. Naja ich denke mal das die anderen Fehler auch dann darauf aufbauen... Danke für deine Hilfe. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.