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

Betriebssystem aller Clients im Netzwerk auslesen per Batchfile

Frage Entwicklung Batch & Shell

Mitglied: Worker734

Worker734 (Level 1) - Jetzt verbinden

04.11.2005, aktualisiert 30.03.2006, 21755 Aufrufe, 12 Kommentare

In meinem Script prüfe ich per ping die Erreichbarkeit aller Clients im Netzwerk und möchte gleich das installierte Betriebssystem mit auslesen.

Danke und Gruß
Mitglied: Janni
04.11.2005 um 16:19 Uhr
hatten wir hier schon einmal ...................

schau mal unter: http://www.administrator.de/W2K_und_XP_Service_Pack_Versionen_im_Netzwe ... , bzw. direkt unter: http://www.loginter.net/de/loginventory.php
Bitte warten ..
Mitglied: ederw
04.11.2005 um 16:31 Uhr
Hallo,

hab vor kurzem ein Tool zur Inventarisierung von Netzwerken gefunden, das mich sowohl von den Funktionen, als auch vom Preis her sehr überzeugt hat.

siehe http://www.loginventory.de

Freundliche Grüße
Bitte warten ..
Mitglied: Worker734
04.11.2005 um 16:41 Uhr
Hi,

geht das nicht etwas unkomplizierter?

etwas so,

Echo %1% : %OSVERSION% >> %root%osversion.log

nur dass das nicht geht!

Gruß
Bitte warten ..
Mitglied: Janni
04.11.2005 um 16:44 Uhr
ich kenne nur den DOS Befehle "ver", der gibt aber leider nicht das SP mit aus.
Bitte warten ..
Mitglied: Worker734
04.11.2005 um 17:07 Uhr
Habe ich mir schon angeschaut ist aber nur für 20 Clients kostenfrei.

Gruß
Bitte warten ..
Mitglied: Biber
04.11.2005 um 17:38 Uhr
Moin worker734,
>>Echo %1% : %OSVERSION% >> %root%osversion.log
...mit %OS% statt %OSVERSION%....
>>nur dass das nicht geht!
... funk-ti-o-niert es.

Ist im IT-Bereich ein wichtiges Detail, ob das Problem eine "Funktionsstörung" oder ein "Funkloch" ist.
Unterschiedliche Lösungsansätze.

Wenn Du auch noch die ServicePacks brauchst, geht das auch per Batch, aber wozu???

Mach sowas doch punktuell (also die Problemfälle suchen) vom Server aus mit der Search.vbs aus den Support-Tools:
For /f "tokens=1,2,3,4" %%i in ('CScript nologo C:\M$\SupportTools\search.vbs "LDAP:dc=meine,dc=meinefirma,dc=com" /Q /C:"&(ObjectCategory=computer)(operatingsystem=Windows XP Professional)(operatingsystemservicepack=service pack 1)"^| find /i " obje"') do ECHO %%j

[der merkwürdige Suchstring "obje" == "objects." in US-Version, "Objekte." in dt.; ggf. prüfen]

HTH Biber
Bitte warten ..
Mitglied: Janni
04.11.2005 um 17:43 Uhr
aber mit %OS% bekommt er nur als Antwort "Windows_NT", egal ob NT, 2K oder XP "antwortet".
Bitte warten ..
Mitglied: Worker734
04.11.2005 um 17:52 Uhr
Hi Biber,

nein ich brauche nur die Version des Betriebssystems.
Wenn ich es so mache bekomme ich aber immer Windows_NT
ob der Rechner antwortet oder nicht.

Irgendwie werde ich das Gefühl nicht los, dass das nur meine Betriebssystemversion ist.

Echo %1% : %OS% >> %root%osversion.log
Echo %1% : %OS%
Bitte warten ..
Mitglied: Biber
04.11.2005 um 19:37 Uhr
@Worker734, @Janni
Sorry, hab vorhin vor mich hin geschnarcht... Freitag nachmittag, Biorhythmustief etc.

Also, ihr habt natürlich recht -alles dummes Zeug.

In "Batch und Shell" hat Schuladmin mal ein GetOSVersion-Tutorial gepostet. Da steht ales in ausführlich drin.

Im native Batch geht es ungefähr so (Win9x lass ich mal raus):

ver ... bringt 3-4 Zeilen Output, meist 2 leere dabei.
Eine davon enthält "Microsoft Windows 2000 ..." oder XP oder ähnliches.
Zumindest etwas Unterscheidbares. Also diesen String auswerten.
>ver|find "Win" >%temp%\irgendwas.txt
..die entscheidende Zeile bleibt über.
Diese Winzdatei mit find durchsuchen und entsprechend "WinNT", Win2k", "WinXP" ins Log schreiben.

Hope That Fits
Biber
Bitte warten ..
Mitglied: Worker734
04.11.2005 um 19:54 Uhr
Hi Biber,

stell ich mich wirklich so blöd an?
wenn ich prompt folgendes eingebe

C:\ver PCname

bekomme ich immer meine Betriebssystemversion angezeigt
obwohl der PC z.B. Win2000 hat

Gruß
Bitte warten ..
Mitglied: Janni
04.11.2005 um 20:18 Uhr
den Befehl "ver" musst Du ja auch per z.B. Batch auf dem Client ausführen ......
Bitte warten ..
Mitglied: Xaero1982
30.03.2006 um 14:27 Uhr
Auch wenn du mir ein wenig unfreundlich rüber kommst
On Error Resume Next

Const WbemAuthenticationLevelPktPrivacy = 6

strUser = InputBox("Please enter the user name: ")
strPassword = InputBox ("Please enter the Passwort: ")
strNamespace = "root\cimv2"

'Wiederholt so lange Host erreichbar ist bzw nicht unbekannter host als Meldung erscheint!
do
strComputer = InputBox ("Please enter the name of the computer you want to connect to: ")

If strComputer = "" Then
do
strComputer = InputBox("Please enter correct Computername: ")

loop until strComputer <> "" OR strComputer = False
End If

'Erreichbarkeit des PC's testen - Ping

Set objShell = CreateObject("WScript.Shell")
strCommand = "%comspec% /c ping -n 3 -w 1000 " & strComputer & "" 'Ping ausführen
Set objExecObject = objShell.Exec(strCommand)
'
Do While Not objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadAll()
If Instr(strText, "Anforderung") > 0 Then
objshell.popup "Host " & strComputer & " nicht erreichbar!",3
elseif Instr(strText, "Unbekannter Host " & strComputer & ".") <> 0 then
objshell.popup "Host " & strComputer & " nicht erreichbar!",3
end if
loop
loop while Instr(strText, "Unbekannter Host " & strComputer & ".")<>0 OR Instr(strText, "Anforderung") > 0
'

'Verbindung zum WMI Namespace herstellen
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objwbemLocator.ConnectServer (strComputer, strNamespace, strUser, strPassword)
objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy
'

Function GetWMIServices()
Set GetWMIServices = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & strNamespace)
End Function

Set objWMIService = GetWMIServices()
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")

For Each objItem In colItems
Message = Message & ("BuildNumber: " & objItem.BuildNumber) &vbcrlf
Message = Message & ("Caption: " & objItem.Caption) &vbcrlf
Message = Message & ("CSDVersion: " & objItem.CSDVersion) &vbcrlf
Message = Message & ("CSName: " & objItem.CSName) &vbcrlf
Next

wscript.echo Message

Speichern unter *.vbs

Du brauchst Adminrechte auf dem auszulesenen PC. Die Daten werden am Anfang abgefragt.

Entweder schreibst du dir noch ne Datei wo du alle Clients auflistest und dir dann einliest und die Ergebnisse in einer anderen Datei speicherst, oder du liest die namen alle aus deinem, wenn vorhanden, AD aus.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Laufwerkgröße der Clients auslesen (6)

Frage von michi-ffm zum Thema Batch & Shell ...

Internet Domänen
gelöst Kein Internetzugriff für einige Clients im Netzwerk (23)

Frage von rapidshare zum Thema Internet Domänen ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (14)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...