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

Dateiversionsabfrage per batch bei einem client geht sie, bei anderen nicht

Frage Microsoft Windows Netzwerk

Mitglied: ChrisDynamite

ChrisDynamite (Level 2) - Jetzt verbinden

07.08.2013 um 13:48 Uhr, 1515 Aufrufe, 6 Kommentare, 1 Danke

guten tag,
folgende code habe ich aus dem netz gefunden und benutze ihn:

@echo off & setlocal
set "Datei=c:\temp\firefox.exe"
set "GetV=%Temp%\GetV.vbs"
echo Set objWMIService=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")>"%GetV%"
echo Set colFiles=objWMIService.ExecQuery ("SELECT * FROM CIM_Datafile WHERE Name='"^&Replace(WScript.Arguments(0),"\","\\")^&"'")>>"%GetV%"
echo For Each objFile in colFiles: WScript.Echo objFile.version: Next>>"%GetV%"
set Version=
for /f %%i in ('cscript //nologo "%GetV%" "%Datei%"') do set "Version=%%i"
if defined Version echo %Datei% - Version %Version%
del "%GetV%"
pause

dieser frägt in einer batch die dateiversion von einer exe ab. damit kann ich dann in der batch weiter arbeiten.

bei 1 win 7 x64 funktioniert das script ohne probleme bei einem anderen pc mit komplett aktuellem patchstand bekomme ich die meldung:

C:\users\admini~.mer\appdata\local\temp\getv.vbs<1, 1> laufzeitfehler in Microsoft VBScript: Objekt erforderlich: 'objWMIService'


wie kann das sein, dass ein und der gleiche code auf unterschiedlichen maschinen gleicher prozessor-und os bauart unterschliedlich interpretiert wird?

wie kann ich dies ändern?

grüße chris
Mitglied: colinardo
07.08.2013, aktualisiert um 14:20 Uhr
Hallo Chris,
bitte poste deinen Code mit Tags.
Eventuell hat der User auf dem PC nicht genug Rechte für WMI-Abfragen.
Du kannst die Datei-Version auch ohne WMI ausgeben lassen (Das sollte auf jeden Fall funktionieren)
01.
echo Set objFSO = CreateObject("Scripting.FileSystemObject")>"%GetV%" 
02.
echo Wscript.Echo objFSO.GetFileVersion(Replace(WScript.Arguments(0),"\","\\"))>>"%GetV%"
Grüße Uwe
Bitte warten ..
Mitglied: ChrisDynamite
07.08.2013, aktualisiert um 14:51 Uhr
wie sähe dann der code letztlich aus?

so sieht mein code dann aus:


@echo off & setlocal
set "Datei=C:\Program Files (x86)\Microsoft Dynamics AX\40\Client\Bin\AX32.exe"
set "GetV=%Temp%\GetV.vbs"
echo Set objFSO = CreateObject("Scripting.FileSystemObject")>"%GetV%"
echo Wscript.Echo objFSO.GetFileVersion(Replace(WScript.Arguments(0),"\","\\"))>>"%GetV%"
set Versionx64=
for /f %%i in ('cscript //nologo "%GetV%" "%Datei%"') do set "Versionx64=%%i"
if defined Versionx64 echo %Versionx64%
pause
Bitte warten ..
Mitglied: colinardo
07.08.2013 um 14:48 Uhr
hast du den obigen Code selber geschrieben oder nur kopiert ? dann wüstest du wo der hin kommt. Bitte poste Ihn erst mit Tags ansonsten gibts hier nix ....
Bitte warten ..
Mitglied: ChrisDynamite
07.08.2013 um 14:51 Uhr
danke für den codeteil.
Bitte warten ..
Mitglied: Dani
07.08.2013, aktualisiert um 15:11 Uhr
Moin,
reden wir russisch oder was ist daran so schwer die Formatierungshilfen zu nutzen? Das ist nicht das erste Mal das du die Sache ignorierst! Ist es zuviel verlangt, eine Minute zu investieren und das ordentlich zu schreiben? Ich denke nicht!

Es stehen noch divesere Beiträge von dir aus... wenn ich dein Profil anschaue.


Grüße,
Dani (Mod)
Bitte warten ..
Mitglied: clSchak
07.08.2013, aktualisiert um 22:35 Uhr
das ist nur kopiert... nutze ich auch allerdings für NAV:

01.
set "Datei=%PROGRAMFILES(X86)%\Microsoft Dynamics NAV\70\RoleTailored Client\Microsoft.Dynamics.Nav.Client.exe" 
02.
03.
	  echo Set objFSO = CreateObject^("Scripting.FileSystemObject"^) 
04.
	  echo Set objShell = CreateObject^("Shell.Application"^) 
05.
	  echo Set objFolder = objShell.NameSpace^(objFSO.GetParentFolderName^(WScript.Arguments^(0^)^)^) 
06.
	  echo WScript.Echo objFolder.ParseName^(objFSO.GetFileName^(WScript.Arguments^(0^)^)^).ExtendedProperty^("productversion"^) 
07.
	)>"%temp%\getPV.vbs" 
08.
for /f %%i in ('cscript //nologo "%temp%\getPV.vbs" "%Datei%"') do set "ProdVersion=%%i" 
09.
del "%temp%\getPV.vbs" 
10.
	
Und das Script funktioniert Tadellos auf Win7 (wir nutzen die Abfrage bei jedem Installationsscript wo es anschließen mit in`s Log geschrieben wird)
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch: SET geht nicht?! (3)

Frage von SlainteMhath zum Thema Batch & Shell ...

Exchange Server
Outlook suche im Kalender eines anderen Kontos geht nicht (8)

Frage von Kukumuh zum Thema Exchange Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...