Top-Themen

Aktuelle Themen (A bis Z)

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

Get-Name.cmd und Get-MAC.cmd - Daten aus einer TXT-Datei auslesen und anzeigen

Mitglied: rompihh

rompihh (Level 1) - Jetzt verbinden

31.08.2013, aktualisiert 18:32 Uhr, 2999 Aufrufe, 3 Kommentare

Hallo Adminkollegen,
hallo Forengemeinde,

ich bin neu hier und brauche Eure Hilfe, da mir weder das Board noch Google weiter helfen konnten. Ich habe mich jetzt den halben Tag mit meiner Problematik beschäftigt und verschiedene Codezeilen und Schnipsel versucht.

Die Vorlage für meine Idee habe ich hier entnommen: https://www.administrator.de/wissen/batch-automatisiert-den-computername ...

Und zwar habe ich eine Datei (Liste.txt) die in jeder Zeile jeweils eine MAC-Adresse der dazugehörige Hostname und das installierte Betriebssystem jeweils getrennt mit einem Tab beinhalten.
Beispiel der Datei:
01.
11-22-33-44-55-66	PC01	WinXP 
02.
AA-BB-CC-DD-EE-FF	PC02	WIN7 
03.
Mit Hilfe der Datei Get-Name.cmd soll (im DOS-Modus) die MAC-Adresse ausgelesen und mit Hilfe der Liste.txt der dazugehörige Hostname ermittelt werden. Die Ergebnisse der Zeile im TXT-File (MAC, Name, Betriebssystem) sollen in der mac.txt abgespeichert werden. Die bisherige unvollständige Datei sieht folgendermaßen aus:

01.
set log=mac.txt 
02.
 
03.
::Nameermitteln 
04.
if exist "%log%" del %log% 
05.
 
06.
 
07.
:: Es werden alle MAC-Adressen des PC's ermittelt 
08.
for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^| find "Physi"') do echo %%a>> %log% 
09.
 
10.
echo *******MAC ermitteln******** 
11.
echo alle MAC-Adressen %mac% 
12.
for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^| find "Physi"') do echo %%a 
13.
 
14.
echo *******Rechnername ermitteln******** 
15.
for /f "tokens=1 delims=" %%s in ('type "%log%"') do (for /f "tokens=2 delims=	" %%b in ('type "liste.txt" ^|findstr "%%s"') do if not "%%b"=="" set name=%%b && set mac=%%s) 
16.
 
17.
ECHO.  >> "%log%" 
18.
echo Rechnername : %name%>> "%log%" 
19.
echo MAC-Adresse : %mac%>> "%log%" 
20.
echo Betriebssystem: %system%>> "%log%"
Folgendes kriege ich nach Stunden „try and error“ nicht hin (dabei habe ich den nicht funktionierenden Teil weitgehendst wieder gelöscht):
- Der Rechnername beinhaltet immer ein Leerzeichen am Ende
- Die MAC-Adresse ein Leerzeichen am Anfang
- Das dazugehörige Betriebssystem bekomme ich gar nicht ausgelesen und habe auch keine Idee wie das zu realisieren wäre.


Woran ich bisher komplett gescheitert bin ist am „Projekt“ Get-MAC.cmd. Mit Hilfe dieser möchte ich mittels set /p pcname=PC-Name: den Namen eingeben und das Skript zeigt mir dann mit Hilfe der liste.txt das Betriebssystem und die dazugehörige MAC-Adresse. Etwaige Großbuchstaben der MAC (A-F) sollten dabei vor der Ausgabe, wenn möglich, in Kleinbuchstaben umgewandelt werden. Als Code-Schnippsel hierfür habe ich folgendes „ergoogelt“:
01.
set mac=%mac:A=a% 
02.
set mac=%mac:B=b% 
03.
set mac=%mac:C=c% 
04.
set mac=%mac:D=d% 
05.
set mac=%mac:E=e% 
06.
set mac=%mac:F=f% 
07.
 
08.
for /f "tokens=1,2 delims=_-" %%i in ("%mac%")

Wer von Euch kann mir bei meinen Batch-Problemen helfen. Ich bin für jeden erdenkliche Hilfe und Hinweis dankbar.

Gruß
rompihh
Mitglied: rubberman
31.08.2013 um 21:11 Uhr
Hallo rompihh, willkommen im Forum.

Frage vorab: Gibt es das GETMAC auf den von dir verwendeten Betriebssystemen?

Grüße
rubberman
Bitte warten ..
Mitglied: Endoro
01.09.2013, aktualisiert um 01:28 Uhr
Hallo,
die Windows Version kannst du so erhalten:
01.
for /f "tokens=2*" %a in ('reg query "\\%PCName%\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion" /v ProductName^|find "REG_SZ"') do set "version=%b" 
02.
echo %version%
Das führende Leerzeichen verschwindet so:
01.
for /f "tokens=2delims=:" %a in ('ipconfig /all ^|find "Phys"') do @for %b in (%~a) do @echo %~b
Mit dem nachhängenden funktioniert das genau so, da der Computername keine Leerzeichen oder andere Delimiter enthält.

Die liste.txt auswerten:
01.
for /f "tokens=1,3" %a in ('find /i "%PCName%" liste.txt') do @echo %a %b
lg.
Bitte warten ..
Mitglied: rubberman
01.09.2013 um 14:12 Uhr
Hallo Endoro.

Hab ich da was falsch verstanden? Ich habe es so gelesen, dass die Liste bereits existiert. Anhand der jeweils ermittelten MAC Adresse sollen aus der Liste der Hostname und das Betriebssystem dazu gelesen werden.

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
PHP

PHP Adresse mit eigenen GET Parametern als GET Parameter

gelöst Frage von justanumber44PHP3 Kommentare

Hallo :D Wenn ich eine Adresse wie habe, wie schaffe ich es am besten die Adresse als Parameter zu ...

Windows Tools

PowerShell mögliche Properties des Befehls Get-ADUser anzeigen?

Frage von Wolf6660Windows Tools2 Kommentare

Hi, ich bin noch nicht so fit in PowerShell und arbeite mich langsam schritt für schritt ans Ziel. Es ...

Batch & Shell

PowerShell, Get-Date, Sommerzeit Winterzeit, Zeitumstellung

gelöst Frage von RippchenBatch & Shell6 Kommentare

Hallo, ich verwende folgendes Skript zur Stapelverarbeitung von CSV Dateien: In den zu bearbeitenden CSV Dateien liegt das Datumsformat ...

Batch & Shell

Powershell Name des Childs bei Get-ChildItem anzeigen

gelöst Frage von reissaus73Batch & Shell2 Kommentare

Ich möchte aus der Registry Beispiel-Datensätze per PowerShell folgende Informationen auslesen und angezeigt bekommen. ProductName, Installationsdatum, XML-Version und natürlich ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 16 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk13 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...