Jump to content

bergesel

Members
  • Gesamte Inhalte

    372
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von bergesel

  1. string: "insert into . (Category,ComputerNameEV,Eventcode,MessageCut,RecordNumber,SourceName,TimeWritten,nType,nUser,appwert,secwert,syswert,stamp)values ('0','rblpq','9','printer','print','20080602','information','nt autority\system',",",",1227259309);"
  2. danke für antwort. ja die tabelle existiert. incorrect syntax near '(' ist der fehler. den string sehe ich mit den entsprechenden werten die er schreiben sollte.
  3. Hallo zusammen ich habe 2 vb scripts die habe ich nun zusammen gefasst. nun sollten die informationen in 2 tabellen geschrieben werden. nur habe ich das problem das er in die 2. tabelle nicht schreiben kann und mir bei db.execute ein fehler meldet bei debuggen. die varaiablen werte werden aber richtig angezeigt. SQL = "INSERT INTO wartung (day, year, dayofweek, hour, minute, month, quarter, second, weekinmonth, computername, csv,cdefrag,ddefrag,edefrag,chkdskc,hersteller,versionnr,stamp)" SQL = SQL & "values ('" & Day & "','" & Year & "','" & week & "','" & Hour & "','" & Minute & "','" & Month & _ "','" & quarter & "','" & Second & "','" & weekinmonth & "','" & computername & "','" & csv & "','" & _ strErgebnisc & "','" & strErgebnisd & "','" & strErgebnise & "','" & wert0 & "','" & hersteller & "','" & versionnr & "','" & stamp & "');" db.Execute(SQL) '********************************************************************************************************************** SQL = "INSERT INTO " & strComputer & " (Category,ComputerNameEV,Eventcode,MessageCut,RecordNumber,SourceName,TimeWritten,nType,nUser,appwert,secwert,syswert,stamp)" SQL = SQL & "values ('" & Category & "','" & ComputerNameEV & "','" & EventCode & "','" & MessageCut & "','" & RecordNumber & "','" & SourceName & "','" & TimeWritten & "','" & nType & "','" & nUser & "','" & appwert & "','" & secwert & "','" & syswert & "','" & stamp & "');" db.Execute(SQL) hier stoppt er!!! ich bin mir sicher das dies sicherlich besser zusammen gefasst werden kann als ich dies hier gemacht habe. :) nur meine sql kenntnisse sind layenhaft. danke für tips oder verweise gruss bergesel
  4. ...hab noch gesehen das dieses eventlog als CSV Datei abgelegt ist.
  5. Hallo zusammen gerne möchte ich die aktuelle definitionFile version von symantec AV auslesen um zu sehen ob dies am System auch gemacht wird. Dies läuft bei uns über einen Parent Server. Habe aber kein Zugriff auf dieses System. Darum möchte ich dies mit WMI abfrage lösen. Mit diesem script habe ich leider nur die Version der Software aber eben nicht von definitionfile. Weis jemand wie ich dies trotzdem auslesen kann? (Datum) Ich habe gesehen, dass Symantec AV ein eigenes eventlog dafür hat. 'Antvir Software auslesen und Version Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery( _ "SELECT * FROM Win32_Product WHERE Caption = 'Symantec AntiVirus'",,48) Dim hersteller Dim versionnr For Each objItem In colItems hersteller = objItem.Caption versionnr = objItem.Version Next vielen dank für Tips
  6. vielen dank werds mir durchlesen
  7. Hallo zusammen mein vorgänger hat an einem Lokalen System, die Gruppenrichtlinie lokal definiert. Wier kann ich dies wieder zurück setzten. leider habe ich z.B keine rechte mouse taste mehr oder bei programme sind die meisten icons weg. auch bei dem lokalen admin. wie kann ich dies wieder zurücksetzen. die files habe ich gefunden unter system32\grouppolicy wie kann ich es wieder "jungfreulich machen"?? danke für hilfe gruss
  8. Das Problem waren ja die hochkommas die das event an sql schickt und sql meint mit diesen zeichen es wird zur nächsten spalte gesprungen. aber da frag ich mich doch wieso dies nicht abgefangen wird(microsoft). es gibt ja noch andere sonderzeichen die das event an sql schickt. da versteh ich nicht wieso er dann bei diesen zeichen * & " nicht auch schwierig tut welche auch steuerungszeichen sind. ist nur noch für mein verständnis. und wen es jemand auch nicht weis :)
  9. @alle so nun funktioniert alles einwandfrei. es lag an den 2 clients mit denen ich getestet habe. danke an alle für ihre geduld :)
  10. @cybquest danke habe ich schon versucht und musste feststellen es liegt nicht an dem script. ich habe mich mit dem softwarehersteller kurz geschlossen. nun habe ich ihm meine sql tabellen wie ich sie mir erstellt habe mit den scripts usw. zu gestellt. er hat dies auf seinem system getestet und musste "leider" :) feststellen, dass es bei ihm problemlos funktioniert. nun weis ich das es an meinem system liegt. jemand eine idee was an meinem system faul sein kann? was kann ich prüfen, testen. eventlogs habe ich mir auch schon durchgesehen. auch im ordner C:\WINDOWS\system32\wbem\logs habe ich nach den fehler gegooglet. bin ratlos was ich auf dem server konfig muss damit dies funzt! danke für tipps und anregungen gruss bergesel
  11. Hallo zusammen wollte euch nur noch meine lösung presentieren ;-) On Error Resume Next strComputer = "[%ComputerName%]" 'strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem",,48) For Each objItem in colItems 'Variablen setzen dim ComputerName 'Domäne: DNSHostname, sonst Name on error resume next ComputerName = objItem.DNSHostName if err > 0 then ComputerName = objItem.Name on error goto 0 'Ende der Hostabfrage 'msgbox computername next Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colRetrievedEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent") For Each objEvent in colRetrievedEvents dim Category dim ComputerNameEV dim EventCode dim Message dim RecordNumber dim SourceName dim TimeWritten dim nType dim nUser Category = objEvent.Category ComputerNameEV = objEvent.ComputerName EventCode = objEvent.EventCode Message = objEvent.Message RecordNumber = objEvent.RecordNumber SourceName = objEvent.SourceName TimeWritten = objEvent.TimeWritten nType = objEvent.Type nUser = objEvent.User Dim MessageFull Dim MessageCut MessageFull = Message 'MessageCut = Replace(MessageFull,"'","""") 'Message = MessageCut if len(MessageFull) > 0 then MessageCut = Replace(MessageFull,"'","!") else MessageCut = "" end if Set db = CreateObject("ADODB.Connection") db.Open("Provider=SQLOLEDB.1;Data Source=meinserver;Trusted_Connection=Yes;Initial Catalog=wartung;User ID=sa;Password=xxxx;") sql = "use wartung;" db.Execute(sql) sql = "INSERT INTO " & ComputerName & " (Category,ComputerNameEV,Eventcode,MessageCut,RecordNumber,SourceName,TimeWritten,nType,nUser)" sql = sql & "values ('" & Category & "','" & ComputerNameEV & "','" & EventCode & "','" & MessageCut & "','" & RecordNumber & "','" & SourceName & "','" & TimeWritten & "','" & nType & "','" & nUser & "');" db.Execute(sql) db.close Next hier!!!!!???? nun bekomm ich aber immer noch ne meldung und die ist am schluss bei next trotz befehl im script on error resume next wie das?: error:0x80041001 code:80041001 google suche bringt mir nicht wirklich erklärende hilfe für den code. aber ansonsten funktionierts ja, stört mich einfach! :)
  12. @cybquest das meinte ich ja wegen computername, dass ich für mich den "[%Computername%]" nehmen muss für mich. @nils ok ich schau mir dies mal mit dem logparser mal an. werd ich wohl bald einträge machen mit logparser ;-)
  13. ..ja stimmt mit values, hab ich angepasst und die msgbox hinzugefügt. meldung: INSERT TO . (Category, usw,nuser) values ('0',alle werte,'information',"); danach fehlermeldung incorrect syntax near (
  14. @nils habe nun auch auf "." gewechselt um den gleichen stand zu haben. nun bekomme ich den fehler incorrect syntax near '('. line 40 und wen ich nun noch logparser dazu nehme hab ich gar kein plan mehr und kann sicherlich dann die domäne wechseln :) @cybquest dies habe ich angepasst oder stimmte schon :) ist es möglich das im eventlog(massage) eine datei so gekennzeichnet ist z.B 'xxx.dll' das diese hochkomas den fehler zum schreiben in sql den fehler verursachen? das script schreibt halt nur teilweise und die spalte nUser bleibt leer sollte auch nicht sein. gruss
  15. @Alle gut dann entschuldige ich mich bei nils hoch-offiziell, für mein überreagiertes verhalten. – ..habe mal die msgbox eingebaut. so wie es aussieht bleibt er bei nuser mit diesem fehler hängen: invalid use of null strComputer = "[%ComputerName%]" Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colRetrievedEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent") For Each objEvent in colRetrievedEvents dim Category dim ComputerNameEV dim EventCode dim Message dim RecordNumber dim SourceName dim TimeWritten dim nType dim nUser Category = objEvent.Category ComputerNameEV = objEvent.ComputerName EventCode = objEvent.EventCode Message = objEvent.Message RecordNumber = objEvent.RecordNumber SourceName = objEvent.SourceName TimeWritten = objEvent.TimeWritten nType = objEvent.Type nUser = objEvent.User hier bricht er ab mit schreiben und bringt die meldung invalid use of null Set db = CreateObject("ADODB.Connection") db.Open("Provider=SQLOLEDB.1;Data Source=server; Trusted_Connection=Yes;User ID=sa;Password=xxxx;") sql = "use wartung;" db.Execute(sql) sql = "INSERT INTO " & strcomputer & "(Category,ComputerNameEV,Eventcode,Message,RecordNumber,SourceName,TimeWritten,nType,nUser)" sql = sql & "values ('" & Category & "','" & ComputerNameEV & "','" & EventCode & "','" & Message & "','" & RecordNumber & "','" & SourceName & "','" & TimeWritten & "','" & nType & "','" & nUser & "');" db.Execute(sql) db.close next
  16. hallo weis nicht ob der ansatz stimmt, würde mal versuchen mit FileMon auszulesen was die Dateien machen. evtl. auch regmon starten um zu sehen was da alles mitläuft gruss bergesel
  17. @cybquest die variable computerName funktioniert und schreibt auch in die entsprechende computertabelle. bricht aber danach mit dem fehler error: incorrect syntax near 's' code 80040e14 wieder ab mit schreiben in die tabelle. @Dr.Melzer Zitat von Nils: Kann es sein, dass Scripting nicht deine Domäne ist? Dann würde ich an deiner Stelle nicht unbedingt die Eventlogs durch ein Skript löschen lassen ... hier wird mir nicht ans bein gepinkelt Dr. Melzer? wen ich doch hier meine frage stelle für dies ist doch dieses forum da oder? wen ich es ja wüsste würd ich hier ja nicht rein schreiben oder? also was soll dan dieser komentar von nils. ich bin hier nicht seit 1 monat dabei und hatte noch nie probleme mit user von hier! neben bei erwähnt gruss bergesel
  18. @cybquest du hast doch mal mein script auch schon angepasst mit zeit und defrag usw. so falls du dich noch erinnerst. dort ist als strcomputer auch "[%computername%]" und dies funktioniert :) richtiger pc name habe erstmals den fehler gefunden wieso der nicht den pc namen richtig anzeigt. dies muss richtig geschrieben werden so:"[%ComputerName%]" und nicht so "[%computername%]" :)
  19. es steht bei beiden den falschen computername(keiner) :) drin wen ich die MsgBox strComputer benutze. 1x bekomme ich nur den punkt 1x bekomme ich [%computername%] aber danke für eure ansätze :)
  20. betreff trcomputer ist copy/paste fehler. danke trotzdem. ist aber richtig im script! was "[%computername%]" betrifft hast du leider keine ahnung! dies ist ein eine variable aus einer software. ist wie "." alles klar? behaupte nur sachen was du auch wirklich weist! deine dumme bemerkungen kannst du dir sparen.
  21. ok danke werd ich mal testen danke – bekomme immer noch die selbe meldung: Script: c:\document and settings\meinprofil\localsettings\temp\2\meinclientsc.vbs Line:3 char:1 error: the remote server machine does not exist or is unavailable: 'GetObject' code:800A01CE Source: Microsoft VBScript runtime error – ...ist es möglich das ich mit den tabellen ein durcheinander habe in den scripts? ich mein jetzt nicht, dass die spalten nicht übereinstimmen sondern ob die anweisung in die spezifischen tabellen nicht korrekt sind. das er vielleicht mit der variable strcomputer trotzdem nicht "weis" zu welcher tabelle er es einfügen soll?
  22. halli hallo dieses script erstellt mir im SQL Tabellen von CLients. Und in diese Tabellen sollten dann die entsprechenden eventlogs abgelegt werden. trComputer = "[%computername%]" Set WshNetwork = WScript.CreateObject("WScript.Network") set db = CreateObject("ADODB.Connection") db.Open("Provider=SQLOLEDB.1;Data Source=Server;UID=sa;PWD=xxxx") sql = "use wartung;" db.Execute(sql) sql= "IF NOT EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'" & strComputer & "') " sql=sql & "AND OBJECTPROPERTY(id, N'IsUserTable') = 1) " sql=sql & "CREATE TABLE " & strComputer & " (Category int NOT NULL , ComputerNameEV varchar (30) NULL , Eventcode varchar (30) NULL , Message varchar (30) NULL ," sql=sql & "Recordnumber int NULL , Sourcename int NULL ," sql=sql & "timewritten int NULL , ntype int NULL , nuser int NULL );" db.Execute (sql) db.close somit habe ich von allen PC Systemen in der DB Wartung eine Tabelle mit entsprechenden clients vorhanden. soweit so gut...nun möchte ich die eventlogs entsprechend in SQL Tabellen der Systeme speichern und danach das event leeren. für das event zu schreiben habe ich folgendes script. bitte verschohnt mich damit, dass man die events im log bleiben sollen. ich will es so ;-) strComputer = "[%ComputerName%]" Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colRetrievedEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent") For Each objEvent in colRetrievedEvents dim Category dim ComputerNameEV dim EventCode dim Message dim RecordNumber dim SourceName dim TimeWritten dim nType dim nUser Category = objEvent.Category ComputerNameEV = objEvent.ComputerName EventCode = objEvent.EventCode Message = objEvent.Message RecordNumber = objEvent.RecordNumber SourceName = objEvent.SourceName TimeWritten = objEvent.TimeWritten nType = objEvent.Type nUser = objEvent.User Set db = CreateObject("ADODB.Connection") db.Open("Provider=SQLOLEDB.1;Data Source=Server; Trusted_Connection=Yes;Initial Catalog=wartung;User ID=sa;Password=xxx;") sql = "use wartung;" db.Execute(sql) 'set rs = sql = "INSERT INTO strcomputer(Category,ComputerNameEV,Eventcode,Message,RecordNumber,SourceName,TimeWritten,nType,nUser)" sql = sql & "values ('" & Category & "','" & ComputerNameEV & "','" & EventCode & "','" & Message & "','" & RecordNumber & "','" & SourceName & "','" & TimeWritten & "','" & nType & "','" & nUser & "');" db.Execute(sql) Next 'db.close nur bei insert into strcomputer versteht er das nicht ganz :) wo ist mein problem? vielen dank für hilfe!
  23. vielen dank an alle ...hat sich nun erledigt. war strange und nicht genau nachvollziehbar, aber funktioniert wieder. wen ich die lösung erkläre kommt eh niemand draus, weil es software speziefisch ist.
  24. Hallo zusammen habe ja nun mein script soweit fertig, speziellen dank an cypquest der mir sehr geholfen hat. :) Ich habe eine Software die Inventarisiert, Patchmanagment, Software verteilung usw. macht. Die Software heisst Deskcenter Suite. In dieser software kann ich scripts auf Inventarisierte clients aulösen. Nun dies geht aber leider nicht. in diesen optionen kann ich ein haken setzten der das script remote ausführt. http://www.deskcenter-solutions.net/pics_content/DeskCenter_System_Management_vbscript_1.jpg http://www.deskcenter-solutions.net/pics_content/DeskCenter_Systemuebersicht_1.jpg der hersteller meint es sollte eigentlich ohne remote funktion funktionieren, was aber gar nicht geht. wen ich remote aktiviere sehe ich auf dem client wscript.exe laufen nur passiert nix. auch überprüfte ich die standard scripts der firma um evtl. den fehler finden zu können. was der unterschied ausmachte sind strcomputer = "." und firma strcomputer = "[%computername%]". habe dies mit beiden versucht! bin überall admin! jemand eine idee wie ich das script auf dem client zum laufen bringe? danke für eure ideen gruss bergesel – und übrigens wen ich das script direkt auf dem client ausführe funktioniert dies auch wunderbar und schreibt mir in die sql DB.
  25. ok das ist ja schon mal was danke
×
×
  • Neu erstellen...