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

Vbscript - prüfen ob windows 32bit oder 64bit

Frage Microsoft

Mitglied: micneu

micneu (Level 2) - Jetzt verbinden

23.01.2011 um 10:41 Uhr, 13965 Aufrufe, 3 Kommentare

Hallo Leute hoffe ihr könnt mir helfen.

Ich beschäftige mich mal wieder mit vbscript.
Und nun meine frage wie kann ich in vbscript prüfen ob windows in 32bit oder 64bit läuft.

gruß michael
Mitglied: EvilMoe
23.01.2011 um 11:13 Uhr
01.
 
02.
On Error Resume Next 
03.
 
04.
Dim WshShell 
05.
Dim OsType 
06.
 
07.
Set WshShell = CreateObject("WScript.Shell") 
08.
 
09.
OsType = WshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE") 
10.
 
11.
If OsType = "x86" then 
12.
wscript.echo "Windows 32bit system detected" 
13.
elseif OsType = "AMD64" then 
14.
wscript.echo "Windows 64bit system detected" 
15.
end if 
16.
 
Erster Link in google.
Bitte warten ..
Mitglied: micneu
23.01.2011 um 11:40 Uhr
danke das ging ja schnell

gruß michael
Bitte warten ..
Mitglied: Friemler
23.01.2011 um 15:19 Uhr
Hallo EvilMoe,

meiner Erfahrung nach funktioniert diese Methode nicht zuverlässig. Ich musste mich bei der Erstellung von Batchfiles für unser Programmiererteam mit dem Thema herumschlagen. Einige verwenden auf ihren Entwicklermaschinen 32Bit-Systeme, die anderen 64Bit-Systeme (Vista oder Win7). Aus einem Batch-Skript sollte der Compiler mit einer Projektdatei als Parameter gestartet werden. Auf 32Bit-Systemen liegt er in C:\Program Files, auf 64-Bit Systemen in C:\Program Files (x86). Dafür brauchte ich eine Unterscheidung. Auf manchen 64Bit-Systemen hatte die Variable PROCESSOR_ARCHITECTURE trotzdem den Wert x86...

Zuverlässig hat folgende Abfrage funktioniert:
01.
if "%ProgramFiles(x86)%" neq "" ( 
02.
  set "Programs=C:\Program Files (x86)" 
03.
) else ( 
04.
  set "Programs=C:\Program Files" 
05.
)
@micneu:
Prüfe die Umgebungsvariablen auf die Existenz einer Variablen ProgramFiles(x86), wenn sie existiert bist Du auf einem 64Bit-System, wenn nicht auf einem 32Bit-System.

Könnte so gehen:
01.
Set WshShell = WScript.CreateObject("WScript.Shell") 
02.
Set WshSysEnv = WshShell.Environment("PROCESS") 
03.
 
04.
If WshSysEnv("ProgramFiles(x86)") = "" Then 
05.
  OSType = "32Bit" 
06.
Else 
07.
  OSType = "64Bit" 
08.
End If 
09.
 
10.
WScript.Echo OSType
Oder per WMI-Abfrage:
01.
strComputer = "." 
02.
Set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
03.
Set colOSs = objWMI.ExecQuery("Select * from Win32_OperatingSystem") 
04.
 
05.
For Each OS in colOSs  
06.
  OSType = OS.OSArchitecture 
07.
Next 
08.
 
09.
WScript.Echo OSType
Ergebnis: 32-Bit oder 64-Bit

Gruß
Friemler
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
gelöst Windows Server 2012, Drucker per GPO für 32bit und 64bit Clients greifen nicht (7)

Frage von schnuepel zum Thema Windows Server ...

Windows 7
Windows 7: Per VBScript Netzwerkdrucker ersetzen (1)

Frage von donnyS73lb zum Thema Windows 7 ...

Batch & Shell
gelöst VBscript - WMI - ServerAddress + ConnectionStatus (Windows 7) (10)

Frage von Highend01 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...