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, 21276 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...