Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

VirtualPC - Änderungen der VM per vba-Script übernehmen

Frage Entwicklung VB for Applications

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

31.01.2011, aktualisiert 13:36 Uhr, 4062 Aufrufe, 3 Kommentare

Hallo,
der XP-Modus in Windows 7 nutzt ja VirtualPC als Umgebung.

Um eine Sicherungskopie zu erstellen fahre ich die VM per vbs herunter (falls sie läuft), verwerfe dann die Änderungen und kopiere alle Dateien weg:

01.
Dim objFileSystem  
02.
Dim objShell  
03.
Dim strZiel  
04.
 
05.
Set objVS = CreateObject("VirtualPC.Application") 
06.
Set objVM = objVS.FindVirtualMachine("Windows XP Mode") 
07.
 
08.
If  objVM.State = 5 then 
09.
    objVM.Turnoff() 
10.
    WScript.Sleep 10000 
11.
End If 
12.
 
13.
    objVM.DiscardUndoDisks 
14.
 
15.
Set objFileSystem = CreateObject("Scripting.FileSystemObject")  
16.
Set objShell = CreateObject("Wscript.Shell")  
17.
  
18.
strZiel = "V:\VM - XP-Modus\Sicherungen\Kopierte Dateien\" & Right(Date,4) & "-" & Mid(Date, 4, 2) & "-" & Left(Date, 2) 
19.
If Not (objFileSystem.FolderExists(strZiel)) Then objFileSystem.CreateFolder(strZiel)  
20.
 
21.
strQuelle = "V:\VM - XP-Modus\" 
22.
 
23.
Set objfs = CreateObject("Scripting.FileSystemObject") 
24.
 
25.
If  NOT objfs.FolderExists(strZiel) Then 
26.
    objfs.CreateFolder strZiel 
27.
End If 
28.
 
29.
On Error Resume Next 
30.
objfs.CopyFile strQuelle & "*.*", strZiel 
31.
 
32.
If Err.Number > 0 Then 
33.
     MsgBox "Der Zielordner existiert bereits. Bitte erst löschen.", , "Sicherung XP-Mode Dateien ..." 
34.
 
35.
     Err.Clear 
36.
Else 
37.
     WScript.Echo "Kopiervorgang erfolgreich beendet." 
38.
     Err.Clear 
39.
End If 
40.
 
41.
On Error GoTo 0
Dies funktioniert auch prima.
Nun wollte ich auch eine Möglichkeit haben die Änderungen zu übernehmen und erst dann zu sichern:

01.
... 
02.
 
03.
Set objVS = CreateObject("VirtualServer.Application") 
04.
Set objVM = objVS.FindVirtualMachine("Windows XP Mode") 
05.
objVM.commitUndoDisks() 
06.
 
07.
...
Aber leider funktioniert dies nicht. Wie kann ich das bewerkstelligen?

Wie könnte ich beide Varianten in ein einziges Script packen, so dass ich eine Abfrage bekomme ob ich die Änderungen übernehmen oder verwerfen möchte?

Torsten
Mitglied: Logan000
31.01.2011 um 14:20 Uhr
Moin Moin

01.
... 
02.
objVM.commitUndoDisks()  
03.
...
Eine solche Methode kennt das Objekt objVM wohl nicht.
Siehe: http://msdn.microsoft.com/en-us/library/dd796617%28v=VS.85%29.aspx

Was passiert eigentlich wenn du den Aufruf
01.
... 
02.
objVM.DiscardUndoDisks  
03.
...
einfach mal weg lässt?

Gruß L.
Bitte warten ..
Mitglied: goodbytes
03.02.2011 um 12:12 Uhr
Hallo Logan000.
ich wollte schon, dass dann die Änderungen dauerhaft übernommen werden.

Vielen Dank für den Link, mit der Methode "MergeUndoDisks " sollte es dann eigentlich klappen.

Werds mal testen.

Gruß
Torsten
Bitte warten ..
Mitglied: goodbytes
03.02.2011 um 12:40 Uhr
Also mit der Methode funktioniert es prima.

Aber wie könnte ich einen Fortschrittsbalken während des Kopiervorgangs anzeigen lassen?

Torsten
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
Powershell Script aus VBA heraus ausführen (2)

Frage von mcnico1978 zum Thema VB for Applications ...

IDE & Editoren
gelöst Eclipse: Couldnt create a VM. Nicht alles korrekt installiert? (2)

Frage von EmoZioN zum Thema IDE & Editoren ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...