Jump to content

wmi, vbs, script win32_directory funktioniert nicht wie erwartet


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Freunde der Nacht,

 

ich habe ein Scriptchen geschrieben in Anlehnung an:

 

Copy a Folder Using WMI

 

Bevor ich mein Script poste, das interessante und der Grund des Beitrags:

 

Als ich das Script schrieb und testete funktionierte es wunderbar auf Win2k Prof und Server. Aber nicht auf Win2k3.

 

Dort werden nämlich nur die Dateien unterhalb des Ordners kopiert und nicht wie bei Win2k, Dateien und Unterverzeichnisse.

 

Hat jemand von euch eine Idee? Was besseres als an den \ bei den Pfadangaben rumzuspielen fiel mir nicht ein und ich habe schon alle möglichen und unmöglichen Kombinationen durch.

 

' Init
'Option Explicit
' Konst.
ForAppending = 8
' Vars
dim objFolder
strComputer = "."
QuellPfad = "c:\\Scripts"
BackupPfad =  "D:\Archive\"   
neuVerz = aktDat()

' ErrorLogfile erstellen
errFName  = "err" & aktDat() & ".log"
Set objFSO = CreateObject("Scripting.FileSystemObject")	  'tschuess Remote-Funkt.
Set objErrFile = objFSO.CreateTextFile(BackupPfad & errFName)
objErrFile.WriteLine("Erstellt: " & now() )
objErrFile.WriteLine("Mögliche Stati:")
objErrFile.WriteLine("0 - alles i. O.; 2 - Access was denied.")
objErrFile.WriteLine("8 - An unspecified failure occurred.; 9 - The name specified was invalid.")
objErrFile.WriteLine("10 - The object specified already exists.; 11 - The file system is not NTFS.")
objErrFile.WriteLine("12 - The platform is not Windows*NT or Windows*2000.; 13 - The drive is not the same.")
objErrFile.WriteLine("14 - The directory is not empty.; 15 - There has been a sharing violation.")
objErrFile.WriteLine("16 - The start file specified was invalid.; 17 - A privilege required for the operation is not held.")
objErrFile.WriteLine("21 - A parameter specified is invalid.")
objErrFile.WriteLine("----------------------------------------------------------------------------------------------------")
objErrFile.Close


' Connecten
'WMI connecten
Set objWMIService = GetObject _
   ("winmgmts:\\" & strComputer & "\root\cimv2")
'Quelle nach Verz. kopieren
Set colFolders = objWMIService.ExecQuery _
  ("SELECT * FROM Win32_Directory WHERE Name = '" & QuellPfad & "'")
  'Wscript.Echo colFolders.Name
For Each objFolder in colFolders
errRes = objFolder.Copy(BackupPfad & neuVerz )
'Wscript.Echo errResults
wriLog("autoBackup :: " & objFolder.Name & " kopiert. Status: " & errRes)
Next

'Garbage
' connections closen
Set colFolders = nothing
Set objWMIService = nothing

wriLog("Beendet: " & now())

'''''''''''''''''''
'' Hilfs-Funktionen
'''''''''''''''''''

'Funktion: aktuelles Datum in Format ttmmjj generieren
function aktDat()
monat = DatePart("m", Date)
tag = DatePart("d", Date)
'wscript.echo len(monat)
if Len(monat) = 1 then 
		monat = 0 & monat '(Datepart("m", Date))
	'else
	'	monat = (DatePart("m", Date))
end if

if Len(tag) = 1 then
	tag = 0 & tag
end if		
datum = tag & monat & DatePart("yyyy", Date) 'Value
aktDat = datum
end function

'Funktion: String in Logfile anhaengen
function wriLog(str) ' AS String)
Set objErrFile = objFSO.OpenTextFile(BackupPfad & errFName, 8)
objErrFile.WriteLine(str) '& "Erstellt: " & Date & " " & now()'" String?: " & IsNumeric(datum)
objErrFile.Close
end function

 

Vielen Dank im voraus für Eure Mithilfe und wachsamen Augen

 

charlieone

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...