Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung

Probleme bei VBscript Verzeichnis erstellen, Kopieren, Prozesse beenden

Mitglied: chris-jerusalem

chris-jerusalem (Level 1) - Jetzt verbinden

13.08.2008, aktualisiert 13:23 Uhr, 4227 Aufrufe, 2 Kommentare

Hallo zusammen,

erstmal was das Script machen soll. Es soll als erstes einen definierten Ordner erstellen. Danach sollen aus einem Verzeichniss vordefinierte Log Dateieen in das grade erstellte Verzeichniss kopiert werden. Danach geht es weiter mit dem beenden verschiedener Prozesse. Und einer abschließenenden Message Box. Alle einzelnen Teile des Scripts hab ich schon getestet und bastel es jetzt zusammen.

Hier erstmal das Script:


01.
'************************************************************************** 
02.
'	File:  		  Final_Script.vbs                                                  
03.
'                                                                               
04.
'	Autor: 		  Christian Jerusalem                                               
05.
'                                                                                
06.
'	Company:	  XX GmbH                                                       
07.
'                                                                              
08.
'	Comments: 	Final_Script XXl.                                           
09.
'				      Anlegen eines Backup Ordners, Transfer bzw. kopieren          
10.
'				      der Log Dateien in diesen Ordner.                             
11.
'				      Ausgabe der Aufforderung Dienste zu beenden.                  
12.
'************************************************************************** 
13.
 
14.
'Ordner erstellen 
15.
dim objFSO 
16.
 
17.
'File kopieren 
18.
Dim objFSO1 
19.
dim objFile 
20.
 
21.
'zu erstellender Ordner 
22.
strFldr="C:\Dokumente und Einstellungen\je\Desktop\Backup Logs"  
23.
 
24.
set objFSO=CreateObject("Scripting.FileSystemObject") 
25.
 
26.
objFSO.CreateFolder(strFldr) 
27.
 
28.
set objFSO=Nothing 
29.
 
30.
Dim runtime 
31.
runtime = "C:\Dokumente und Einstellungen\je\Desktop\BoFiT\BoFiT-Server\pm" 
32.
 
33.
'Dateien die kopiert werden soll 
34.
strFile1= runtime + "\log\ENW.log" 
35.
strFile2= runtime + "\log\PMBeenden.log" 
36.
strFile3= runtime + "\log\PMSystem.log" 
37.
strFile4= runtime + "\log\PMServerService_app.log" 
38.
strFile5= runtime + "\log\PMServerService.log" 
39.
strFile6= runtime + "\shark\logs\*.*" 
40.
strFile7= runtime + "\export\log\*.*" 
41.
strFile8= runtime + "\import\log\*.*" 
42.
 
43.
'Ordner in dem die Datei kopiert werden soll 
44.
strDest="C:\Dokumente und Einstellungen\je\Desktop\Backup Logs" 
45.
 
46.
set objFSO1=CreateObject("Scripting.FileSystemObject") 
47.
 
48.
'Setzen des Parameters auf TRUE wenn eine  
49.
'existierende Datei überschrieben werden soll. 
50.
objFSO1.CopyFile strFile1,strDest,TRUE 
51.
objFSO1.CopyFile strFile2,strDest,TRUE 
52.
objFSO1.CopyFile strFile3,strDest,TRUE 
53.
objFSO1.CopyFile strFile4,strDest,TRUE 
54.
objFSO1.CopyFile strFile5,strDest,TRUE 
55.
objFSO1.CopyFile strFile6,strDest,TRUE 
56.
objFSO1.CopyFile strFile7,strDest,TRUE 
57.
objFSO1.CopyFile strFile8,strDest,TRUE 
58.
 
59.
'Beenden der Prozesse 
60.
pc = "localhost" 
61.
programm = "'assembly_manager.exe'" 
62.
Set wmi = GetObject("winmgmts:" _ 
63.
& "{impersonationLevel=impersonate}!\\" _ 
64.
& pc & "\root\cimv2") 
65.
Set col = wmi.ExecQuery _ 
66.
("Select * from Win32_Process Where Name = " & programm ) 
67.
For Each obj in col 
68.
obj.Terminate() 
69.
Next 
70.
 
71.
pc = "localhost" 
72.
programm = "'CIAO-Deamon.exe'" 
73.
Set wmi = GetObject("winmgmts:" _ 
74.
& "{impersonationLevel=impersonate}!\\" _ 
75.
& pc & "\root\cimv2") 
76.
Set col = wmi.ExecQuery _ 
77.
("Select * from Win32_Process Where Name = " & programm ) 
78.
For Each obj in col 
79.
obj.Terminate() 
80.
Next 
81.
 
82.
pc = "localhost" 
83.
programm = "'Java.exe'" 
84.
Set wmi = GetObject("winmgmts:" _ 
85.
& "{impersonationLevel=impersonate}!\\" _ 
86.
& pc & "\root\cimv2") 
87.
Set col = wmi.ExecQuery _ 
88.
("Select * from Win32_Process Where Name = " & programm ) 
89.
For Each obj in col 
90.
obj.Terminate() 
91.
Next 
92.
 
93.
pc = "localhost" 
94.
programm = "'Naming_Service.exe'" 
95.
Set wmi = GetObject("winmgmts:" _ 
96.
& "{impersonationLevel=impersonate}!\\" _ 
97.
& pc & "\root\cimv2") 
98.
Set col = wmi.ExecQuery _ 
99.
("Select * from Win32_Process Where Name = " & programm ) 
100.
For Each obj in col 
101.
obj.Terminate() 
102.
Next 
103.
 
104.
pc = "localhost" 
105.
programm = "'PMServerService.exe'" 
106.
Set wmi = GetObject("winmgmts:" _ 
107.
& "{impersonationLevel=impersonate}!\\" _ 
108.
& pc & "\root\cimv2") 
109.
Set col = wmi.ExecQuery _ 
110.
("Select * from Win32_Process Where Name = " & programm ) 
111.
For Each obj in col 
112.
obj.Terminate() 
113.
Next 
114.
 
115.
pc = "localhost" 
116.
programm = "'RTComponentServer.exe'" 
117.
 
118.
Set wmi = GetObject("winmgmts:" _ 
119.
& "{impersonationLevel=impersonate}!\\" _ 
120.
& pc & "\root\cimv2") 
121.
Set col = wmi.ExecQuery _ 
122.
("Select * from Win32_Process Where Name = " & programm ) 
123.
For Each obj in col 
124.
obj.Terminate() 
125.
Next 
126.
Msgbox("BoFiT Prozesse beendet!") 
127.
 
128.
'Ausgabe der Aufforderung die Dienste neu zu starten 
129.
MsgBox "Bitte starten Sie den BoFiT-PM-Server neu!" 
130.
'Ausgabe der Aufforderung die Dienste neu zu starten genauer Weg 
131.
MsgBox "Rufen Sie dafür in der Systemsteuerung die Cluster-Verwaltung auf und beenden Sie dort den BoFiT Server Dienst!"

Und nun mein Problem:
Das erstellen des Verzeichnisses ist kein Problem das funktioniert. Nur bei Zeile 50 Zeichen 1 gibts einen Fehler "Erlaubnis verweigert". Ich habe auf dem Rechner volle Administrator Rechte.
Das ist der Bereich ab der ersten Programm Zeile:
01.
'Setzen des Parameters auf TRUE wenn eine  
02.
'existierende Datei überschrieben werden soll. 
03.
objFSO1.CopyFile strFile1,strDest,TRUE 
04.
objFSO1.CopyFile strFile2,strDest,TRUE 
05.
objFSO1.CopyFile strFile3,strDest,TRUE 
06.
objFSO1.CopyFile strFile4,strDest,TRUE 
07.
objFSO1.CopyFile strFile5,strDest,TRUE 
08.
objFSO1.CopyFile strFile6,strDest,TRUE 
09.
objFSO1.CopyFile strFile7,strDest,TRUE 
10.
objFSO1.CopyFile strFile8,strDest,TRUE
Weiß da jemand einen Rat?

Gruß
Christian
Mitglied: bastla
13.08.2008 um 12:59 Uhr
Hallo chris-jerusalem!

Wenn Du bei der Zielangabe "strDest" (entweder in Zeile 44 oder mit
01.
 objFSO1.CopyFile strFile1,strDest & "\",TRUE
jeweils bei den "CopyFile"-Anweisungen) an das Ende noch einen "\" setzt, sollte es gehen, da in diesem Fall das Ziel richtig als Ordner interpretiert wird - ohne "\" sieht VBS es als Dateipfad an und kann dann natürlich den Ordner nicht durch eine Datei ersetzen.

Grüße
bastla
Bitte warten ..
Mitglied: chris-jerusalem
13.08.2008 um 13:23 Uhr
Ja ich habe eine lösung gefunden, hier mein fertiges Script:

'
' File: Final_Script.vbs
'
' Autor: Christian Jerusalem
'
' Company: xx GmbH
'
' Comments: Final_Script xxl.
' Anlegen eines Backup Ordners, Transfer bzw. kopieren
' der Log Dateien in diesen Ordner.
' Ausgabe der Aufforderung Dienste neu zu starten.
'


'Ordner erstellen
dim objFSO

'File kopieren
Dim objFSO1
dim objFile

'zu erstellender Ordner incl Datum u. Uhrzeit
wDateTime = Year(Now) & Right("00" & Month(Now), 2) & Right("00" & Day(Now), 2) + "_" + Right("00" & Hour(Now), 2) & Right("00" & Minute(Now), 2)
strFldr="C:\Dokumente und Einstellungen\je\Desktop\Backup Logs " + wDateTime

set objFSO=CreateObject("Scripting.FileSystemObject")

if Not objFSO.FolderExists(strFldr) Then
objFSO.CreateFolder(strFldr)
end if

set objFSO=Nothing

Dim runtime
runtime = "C:\Dokumente und Einstellungen\je\Desktop\BoFiT\BoFiT-Server\pm"

strDest=strFldr

'Dateien die kopiert werden soll
strFile1= runtime + "\log\ENW.log"
strDest1= strDest + "\ENW.log"
strFile2= runtime + "\log\PMBeenden.log"
strDest2= strDest + "\PMBeenden.log"
strFile3= runtime + "\log\PMSystem.log"
strDest3= strDest + "\PMSystem.log"
strFile4= runtime + "\log\PMServerService_app.log"
strDest4= strDest + "\PMServerService_app.log"
strFile5= runtime + "\log\PMServerService.log"
strDest5= runtime + "\PMServerService.log"
strFile6= runtime + "\shark\logs\*.*"
strFile7= runtime + "\export\log\*.*"
strFile8= runtime + "\import\log\*.*"

'Ordner in dem die Datei kopiert werden soll

set objFSO1=CreateObject("Scripting.FileSystemObject")

'Setzen des Parameters auf TRUE wenn eine
'existierende Datei überschrieben werden soll.
objFSO1.CopyFile strFile1,strDest1,TRUE
objFSO1.CopyFile strFile2,strDest2,TRUE
objFSO1.CopyFile strFile3,strDest3,TRUE
objFSO1.CopyFile strFile4,strDest4,TRUE
objFSO1.CopyFile strFile5,strDest5,TRUE
objFSO1.CopyFile strFile6,strDest,TRUE
objFSO1.CopyFile strFile7,strDest,TRUE
objFSO1.CopyFile strFile8,strDest,TRUE

'Beenden der Prozesse
pc = "localhost"
programm = "'assembly_manager.exe'"
Set wmi = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& pc & "\root\cimv2")
Set col = wmi.ExecQuery _
("Select * from Win32_Process Where Name = " & programm )
For Each obj in col
obj.Terminate()
Next

pc = "localhost"
programm = "'CIAO-Deamon.exe'"
Set wmi = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& pc & "\root\cimv2")
Set col = wmi.ExecQuery _
("Select * from Win32_Process Where Name = " & programm )
For Each obj in col
obj.Terminate()
Next

pc = "localhost"
programm = "'Java.exe'"
Set wmi = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& pc & "\root\cimv2")
Set col = wmi.ExecQuery _
("Select * from Win32_Process Where Name = " & programm )
For Each obj in col
obj.Terminate()
Next

pc = "localhost"
programm = "'Naming_Service.exe'"
Set wmi = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& pc & "\root\cimv2")
Set col = wmi.ExecQuery _
("Select * from Win32_Process Where Name = " & programm )
For Each obj in col
obj.Terminate()
Next

pc = "localhost"
programm = "'PMServerService.exe'"
Set wmi = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& pc & "\root\cimv2")
Set col = wmi.ExecQuery _
("Select * from Win32_Process Where Name = " & programm )
For Each obj in col
obj.Terminate()
Next

pc = "localhost"
programm = "'RTComponentServer.exe'"
Set wmi = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& pc & "\root\cimv2")
Set col = wmi.ExecQuery _
("Select * from Win32_Process Where Name = " & programm )
For Each obj in col
obj.Terminate()
Next
'Ausgabe Prozesse beendet
Msgbox("BoFiT Prozesse beendet!")

'Ausgabe der Aufforderung die Dienste neu zu starten
MsgBox "Bitte starten Sie den BoFiT-PM-Server neu!"
'Ausgabe der Aufforderung die Dienste neu zu starten genauer Weg
MsgBox "Rufen Sie dafür in der Systemsteuerung die Cluster-Verwaltung auf und beenden Sie dort den BoFiT Server Dienst!"

Zusätzlich eingebaut ist, dass bei jedem erstellen eines Ordner das Datum und Uhrzeit in Namen mit eingebettet ist.
Bitte warten ..
Ähnliche Inhalte
Windows 7
Wie kann ich das beenden eines Prozesses Protokollieren?
Frage von ScrollerWindows 77 Kommentare

Hallo, sporadisch beenden sich an einem unserer PCs Prozesse (Win 7 Prof). Im eventlog steht nichts dazu. Gut wäre ...

Windows Server
Software Prozesse über GPO beenden
gelöst Frage von dakoerryWindows Server7 Kommentare

Guten Tag kann mir einer helfen, möchte gerne alle PC´s in einer Server 2012 R2 Domain einen bestimmten Prozess ...

Batch & Shell
Remote Prozesse Beenden
gelöst Frage von HanutaBatch & Shell6 Kommentare

Hallo Zusammen, gibt es die Möglichkeit von Powershell mit Stop-Process z. B. den Firefox auch Remote zu beenden? Möchte ...

VB for Applications
Prozess Beenden mit VBA (Excel)
gelöst Frage von ritzmannVB for Applications2 Kommentare

Hallo zusammen Drehe momentan am Rad, da ich nicht mehr weiter weiss. Erhoffe mir durch euch eine Lösung zu ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit29 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...

Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...