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

Win XP - Benötige Batch Datei zum Auslesen der Mac Adresse - Mac Adresse mit einer Mac Adressen Tabelle vergleichen - Computernamen aus Tabelle herausfiltern und ins System einpflegen!

Frage Entwicklung Batch & Shell

Mitglied: cloud-strife20

cloud-strife20 (Level 1) - Jetzt verbinden

02.12.2008, aktualisiert 08.12.2008, 14585 Aufrufe, 19 Kommentare

Sehr geehrtes Administrator Team,

ich bin seit heute ein neues Mitglied in diesem Forum und freue mich schon drauf in Zukunft mit euch zusammenarbeiten zu können! ^^
Wie Ihr schon aus meinem Titel entnehmen könnt, habe ich ein kleines Problem, wo ich hoffe, dass Ihr mir weiterhelfen könnt.
Ich bräuchte nämlich Hilfe für die Erstellung einer Batch Datei, die folgende Sachen ausführen müsste:

1. Die MAC-Adresse aus dem PC-System auslesen und in ein .txt Dokument abspeichern
--> MAC-Adresse sollte möglichst in der .txt Datei so aussehen:

d48eee36e2f0f1ba8b1c9a4b51a32720-mac-id - Klicke auf das Bild, um es zu vergrößern


2.1 Dann soll die ausgelesene MAC-Adresse in der .txt Datei mit einer vorhandenen Tabelle, wo schon MAC-Adressen aufgelistet sind, verglichen werden.
--> Die Tabelle ist als .csv Datei abgespeichert und kann mit openOfice geöffnet werden. Die Tablle sieht dann ungefähr so aus:

bb585141634d42e464e743957af5f471-mac-liste - Klicke auf das Bild, um es zu vergrößern

Achtung: Das ist nicht die vollständige Liste. Die Liste besteht aus 35 MAC-Adressen mit den jeweiligen zugehörigen Computernamen! Habe nur ein Teil als Screenshot zur
Verfügung gestellt!

2.2 Wenn die ausgelesene MAC-Adresse mit einer MAC-Adresse aus der Tabelle übereinstimmt, dann soll ein bestimmter Computername zugewiesen werden!
--> Dieser Computername soll dann in einer weiter .txt Datei abgespeichert werden, z.B.: Computername.txt

3. Zum Schluss soll der ausgelesene Computername aus der.txt Datei ins System eingepflegt werden
--> Ich habe mir gedacht, dass man das mit demm Programm "Wsname" machen könnte... Das man praktisch per Batch Datei den Computernamen, der in der .txt Datei
drinne steht in das Programm "Wsname" reinkopiert und denen sagt, übernehme diesen Computernamen! Das programm sieht so aus:

6922103f9e08e340261c21413e830767-wsname - Klicke auf das Bild, um es zu vergrößern

Ich habe es schon soweit geschafft, dass ich mir die Physikalische Adresse (MAC-Adresse) von der CMD-Konsole (Shell) in ein.txt Datei reinkopiert bekomme.
Die Batch-Datei sieht dann so aus:

@echo off
SETLOCAL

@SET LOG=%COMPUTERNAME%.log
rem @ECHO. >>%LOG%
@ipconfig /all | findstr /i /C:"Physikalische Adresse" >>%LOG%
@ECHO. >>%LOG%

rem @NOTEPAD.EXE %LOG%

ENDLOCAL

Aber die Mac-Adresse wird leider dann so dargestellt:

543c0859172637afb68ff2e7960a7d84-auflistung_der_mac-adressen - Klicke auf das Bild, um es zu vergrößern


Möchte gerne nur die eine MAC-Adresse, wie schon oben auf dem Bild unter Punkt 1, in die ganz linke obere Ecke des Dokumentes haben.

Bei den Punkten 2 und 3 komme ich nicht weiter... Ihr müsst wissen, ich bin in dem Gebiet ein Neuling und versuche mich da etwas hineinzufuchsen... ;)
Das ganze hier hängt nämlich mit einer Projektarbeit zusammen, die ich fertigstellen muss... Ich würde mich sehr freuen, wenn ihr mich dabei tatkräftig unterstützen könntet und für mich viele Tipps und Ratschläge parat hättet, wie ich das alles in einer Batch umsetzen könnte! Vielen Dank schon mal im vorraus!

Mit freundlichen Grüßen
cloud-strife20
Mitglied: Ren
02.12.2008 um 15:11 Uhr
Hm, "sauber" bekommst du die MAC-Adressen vielleicht so...
01.
for /f "tokens=10*" %%i in ('ipconfig/all ^| findstr "Ph"') do echo %%i>>%LOG%
wobei noch das Problem wäre, dass die meisten Computer ja mehr als einen MAC haben, aber da nur eine von denen in der Liste eingetragen sein dürfte, sollte das ja schon mal kein Problem darstellen.
Bitte warten ..
Mitglied: cloud-strife20
02.12.2008 um 15:16 Uhr
Wenn ich dein Befehl in ein .txt datei reinkopiere und dann als .bat Datei abspeicher passiert leider nichts...
Kommt nur schnell ein schwarzes Fenster und geht gleich wieder zu...
Mache ich da was falsch?

Also es sind schon mehr als 1 Mac-Adresse vorhanden... siehe oben Bild!
Insgesamt sind es 3 Mac-Adressen und ich bräuchte die mittlere von denen... Habe es im Bild nochmal gekennzeichnet!
Bitte warten ..
Mitglied: Ren
02.12.2008 um 15:27 Uhr
Ich habe keine Batch gepostet, sondern nur einen Zeile, einen Idee. Wenn du die doppelt anklicken möchtest, dann setzt auf jeden Fall an das Ende noch ein pause.
01.
@echo off 
02.
for /f "tokens=10*" %%i in ('ipconfig/all ^| findstr "Ph"') do echo %%i>>%LOG% 
03.
pause
Ich empfehle aber sehr, das ganze auf der CMD.EXE zu testen. Also: ausführen CMD.EXE. Dann hast du das schwarte Fenster in dem du deinen Batch starten kannst, und die geht auch nicht wieder zu, und du kannst dir die Meldungen ansehen.
Gruß
Bitte warten ..
Mitglied: cloud-strife20
02.12.2008 um 15:41 Uhr
Das heißt, wenn ich unter Start --> ausführen --> cmd.exe gestartet habe und in der .bat Datei die "Pause" mit eingebunden habe und die .bat Datei in die shell hinüberziehe, müsste ich verfolgen können, was dann passiert, richtig?

Besser wäre es, wenn ihr mir gleich direkt helfen könntet, wie ich das schreiben könnte, weil ich etwas unter Zeitdruck bin und bis Donnerstag alles fertig haben muss... Wäre super nett, wenn Ihr mir dabei helfen könntet...
Bitte warten ..
Mitglied: Ren
02.12.2008 um 15:44 Uhr
So würde es dann aussehen, wenn man sich den Namen in einen Text-Datei schreiben lassen will:
01.
@echo off 
02.
::suchen wir uns mal alle MAC-Adressen, die der Rechner so hat, und rufen für jede! 
03.
:::check MAC auf 
04.
for /f "tokens=10*" %%i in ('ipconfig/all ^| findstr "Ph"') do call :checkMAC %%i 
05.
goto :eof 
06.
 
07.
:checkMac 
08.
::überprüfen ob eine in der Datei macs.vergleichen drin steht, 
09.
::und wenn ja, dann schreiben wir den Namen, der hinter der MAC steht, in eine 
10.
::Text-Datei 
11.
::Dabei muss die macs.vergleichen so aufgebaut sein: 
12.
::AA-BB-CC-DD-EE-FF;Name des Rechners 
13.
echo die MAC %1 wird verglichen: 
14.
for /f "delims=; tokens=1,*" %%j in ('type macs.vergleichen') do (if "%~1"=="%%~j" echo %%k>>name.%~1) 
15.
goto :eof
Wenn dir nicht so klar ist, wie diese for-Schleifen funktionieren, dann gib mal auf der CMD.EXE for /? ein.
mit "delims=; tokens=1,*" sage ich for z.B., dass er zwei Token erzeugen soll, einen, der den Text vor dem ersten ; enthält und einen, der alles, was dahinter steht enthält. ; gebe ich ihm als Trennzeichen an. Es kann sein, dass du das anpassen musst, wenn du z.B. in deiner Datei das , als Trennzeichen verwendest.
Ich schreibe den Namen in eine Datei name.%~1, in dem Fall also name.MAC, das kannst du natürlich beliebig anpassen.
Bitte warten ..
Mitglied: Ren
02.12.2008 um 15:46 Uhr
Wo ist denn dein Problem, dass er alle MAC-Adressen verwendet? Kann es denn passieren, dass mehrer dieser MAC-Adressen in der Datei zum Namens-Vergleich eingetragen sind? Wenn ja, einfach die Mittlere nehmen wäre kein Problem, ist das aber grundsätzlich so?
Bitte warten ..
Mitglied: cloud-strife20
02.12.2008 um 16:25 Uhr
Ja das ist grundsätzlich so, dass die mittle Mac-Adresse die Mac-Adresse ist, die ich bräuchte... Es ist so, dass eine von den 3 Mac-Adressen in meiner Mac-Adressenliste später auftaucht... ich weiß nicht, ob es was ausmachen würde, wenn die 2 übrigen MAC-Adressen im .txzt dokument mit drinne stehen würden
Bitte warten ..
Mitglied: Ren
02.12.2008 um 16:56 Uhr
Würde es nicht, warum denn? Wer sucht in der Batch für alle drei MACs in der Datei nach einem Namen.
Mir ist gerade noch etwas eingefallen. Wenn es wirklich nur 35 MACs sind, die verglichen werden sollen, dann dürfte folgendes zwar egal sein, wenn es dann aber mal mehr werden sollten, dann geht es so schneller:
Zeile 14. würde ich folgendermaßen anpassen:
01.
for /f "delims=; tokens=1,*" %%j in ('type macs.vergleichen^|findstr "%~1"') do (echo %%k>>name.%~1) 
Vorher wurde für jede Zeile der Textdatei ein Vergleich durchgeführt. Das dauert. So geht es viel Schneller, den Vergleich übernimmt nun findstr.
Bitte warten ..
Mitglied: cloud-strife20
02.12.2008 um 16:59 Uhr
und unter cmd.exe den befehl for /? habe ich schon nachgeguckt. Ist aber alles irgendwie zu kompliziert und teilweise unverständlich aufgeschrieben... Wäre euch sehr dankbar, wenn Ihr mir zu meine Fragen Bitte gleich richtige Lösungen aufschreiben könntet... Weil ich bin schon seit über 7 Tagen dabei mir mein Kopf darüber zu zerbrechen und komme einfach nicht weiter...
Und bis Donnerstag muss das alles laufen... Ich weiß echt nicht mehr weiter...

@ Ren: Kann ich das, was Du mir aufgeschrieben hast, einfach so übernehmen?
Bitte warten ..
Mitglied: Ren
02.12.2008 um 17:10 Uhr
kA, ob du das kannst. Du darfst es auf jeden Fall. ;) Bis zum Punkt 2.2 sehe ich dein Problem als gelöst an, dafür kannst du meinen Teil hernehmen. Hier noch mal die bessere Version, in der am Ende eine Computername.txt herauskommen sollte. Da du mir nicht verraten willst, mit welchem Trennzeichen bei dir getrennt wird, in deiner CSV-Datei, kann ich dir diesbezüglich nicht helfen...
01.
@echo off 
02.
::suchen wir uns mal alle MAC-Adressen, die der Rechner so hat, und rufen für jede! 
03.
:::check MAC auf 
04.
for /f "tokens=10*" %%i in ('ipconfig/all ^| findstr "Ph"') do call :checkMAC %%i 
05.
:: 
06.
::PUNKT 3 
07.
goto :eof 
08.
 
09.
:checkMac 
10.
::überprüfen ob eine in der Datei macs.vergleichen drin steht, 
11.
::und wenn ja, dann schreiben wir den Namen, der hinter der MAC steht, in eine 
12.
::Text-Datei 
13.
::Dabei muss die macs.vergleichen so aufgebaut sein: 
14.
::AA-BB-CC-DD-EE-FF;Name des Rechners 
15.
echo die MAC %1 wird verglichen: 
16.
for /f "delims=; tokens=1,*" %%j in ('type DATEI.csv^|findstr "%~1"') do (echo %%k>Computername.txt) 
17.
goto :eof
In Zeile 6 musst du dich jetzt noch mit deinem 3. Punkt beschäftigen. Da kann ich dir nicht weiterhelfen, da ich "Wsname" weder haben noch kenne, ich also keine Ahnung habe, ob man dem Programm irgendwie den Namen über die Kommandozeile mitgeben kann.
Schönen Abend noch
Bitte warten ..
Mitglied: cloud-strife20
02.12.2008 um 17:31 Uhr
Natürlich kann ich dir verraten, mit welchen Trennzeichen bei mir getrennt wird, nämlich mit einem Kommazeichen! Unzwar habe ich erstmal meine Liste erstmal im editor erstellt, die folgendermaßen aussieht:

"00-22-41-21-D2-A9",ePush MacBook 1
"00-22-41-21-D0-2D",ePush MacBook 2
"00-1F-F3-5A-DA-05",ePush MacBook 3
"00-1F-F3-5A-D0-16",ePush MacBook 4
"00-1F-F3-5B-19-9B",ePush MacBook 5
"00-22-41-21-CF-B7",ePush MacBook 6
"00-1F-F3-5B-CF-27",ePush MacBook 7
"00-1F-F3-5B-11-EF",ePush MacBook 8
"00-1F-F3-5B-CD-49",ePush MacBook 9
"00-1F-F3-5A-E4-95",ePush MacBook 10
"00-1F-F3-5A-CF-BA",ePush MacBook 11
"00-1F-F3-5A-CF-70",ePush MacBook 12
"00-1F-F3-5A-DD-8D",ePush MacBook 13
"00-1F-F3-5A-DA-DB",ePush MacBook 14
"00-1F-F3-5A-D6-8F",ePush MacBook 15
"00-1F-F3-57-10-ED",ePush MacBook 16
"00-1F-F3-5A-D9-BB",ePush MacBook 17
"00-1F-F3-5A-DE-6C",ePush MacBook 18
"00-1F-F3-59-EC-E0",ePush MacBook 19
"00-1F-F3-5A-1D-28",ePush MacBook 20
"00-1F-F3-5B-CA-C7",ePush MacBook 21
"00-1F-F3-5B-D1-35",ePush MacBook 22
"00-1F-F3-59-F2-01",ePush MacBook 23
"00-1F-F3-5A-E3-9A",ePush MacBook 24
"00-1F-F3-5B-9D-9E",ePush MacBook 25
"00-1F-F3-5A-DA-4D",ePush MacBook 26
"00-1F-F3-5B-D4-B2",ePush MacBook 27
"00-1F-F3-5A-DC-BE",ePush MacBook 28
"00-1F-F3-5A-DA-15",ePush MacBook 29
"00-1F-F3-5A-DA-5B",ePush MacBook 30
"00-1F-F3-5B-CF-18",ePush MacBook 31
"00-1F-F3-5B-CC-E6",ePush MacBook 32
"00-1F-F3-5B-0F-C9",ePush MacBook 33
"00-1F-F3-5B-D7-40",ePush MacBook 34
"00-1F-F3-5B-CD-B7",ePush MacBook 35

Dann habe ich, als ich unter "speicher unter" raufgegangen bin, habe ich die Datei als .CSV datei abgespeichert, sprich "Dateiname.csv"! und unter OpenOffice wird das dann, wie im obrigen Bild als Tabelle dargestellt!

Eine Frage hätte ich dann noch: Wieso ist der Punkt 3, dann vor Punkt 2? Muss der Vorgang nicht umgekehrt sein, also sprich erstmal Punkt 2 und dann Punkt 3?
Bitte warten ..
Mitglied: cloud-strife20
02.12.2008 um 17:45 Uhr
Noch zwei Frage: Muss ich in Zeile 16 unter "DATEI.csv" den kompletten Pfad angeben, wo sich die datei befindet, sprich C:\Mangement\Batch... etc. und auch den Pfad angeben, wo das textdokument für den Computernamen reinkopiert wird?

Bei mir sind die Mac-Adressen mit ein Komma anstatt einem Semikolon getrennt, soll ich das in meiner Tabelle ändern?
Bitte warten ..
Mitglied: cloud-strife20
02.12.2008 um 17:56 Uhr
ich habe es jetzt bei mir als batch so stehen:

@echo off
::suchen wir uns mal alle MAC-Adressen, die der Rechner so hat, und rufen für jede!
:::check MAC auf
for /f "tokens=10*" %%i in ('ipconfig/all ^| findstr "Ph"') do call :checkMAC %%i
::
::PUNKT 3
goto :eof

:checkMac
::überprüfen ob eine in der Datei macs.vergleichen drin steht,
::und wenn ja, dann schreiben wir den Namen, der hinter der MAC steht, in eine
::Text-Datei
::Dabei muss die macs.vergleichen so aufgebaut sein:
::AA-BB-CC-DD-EE-FF,Name des Rechners
echo die MAC %1 wird verglichen:
for /f "delims=, tokens=1,*" %%j in ('type C:\Mangagement\Batch\Mac.csv^|findstr "%~1"') do (echo %%k>Computername.txt)
goto :eof


Wenn ich cmd.exe mit der Batch Datei ausführe, sagt er folgendes:

C:\Dokumente und Einstellungen\Administrator>C:\Management\Batch\SOS.bat
die MAC 00-1F-5B-ED-66-D4 wird verglichen:
Das System kann den angegebenen Pfad nicht finden.
die MAC 00-1E-C2-AE-AA-CA wird verglichen:
Das System kann den angegebenen Pfad nicht finden.
die MAC 00-1F-5B-7C-7A-E9 wird verglichen:
Das System kann den angegebenen Pfad nicht finden.

Also die Mac-Adressen, vom System findet er und er versucht auch zu vergleichen, aber ich habe das Gefühl er findet meine Tabelle nicht! Muss ich noch was ändern?
Bitte warten ..
Mitglied: cloud-strife20
02.12.2008 um 18:08 Uhr
ES FUNKTIONIERT :D DAAAAAAAAAAAAAAANKE REN
DU BIST EINFACH SUUUUUUUUUUUUPER
Ich habe den Pfad für die .csv Datei falsch geschrieben gehabt, ich dödel :P

Jetzt muss ich nur noch herausfinden, wie ich den Computernamen, der jetzt im .txt Dokument abgespeichert ist in das Systenm einpflegen kann! :D Wenn einer von euch eine Lösung weiß, wäre ich über glücklich!
Bitte warten ..
Mitglied: Ren
02.12.2008 um 18:45 Uhr
Hm, kleiner Tipp: Forumsuche hilft! z.B.: http://www.administrator.de/Batch_-_Automatisiert_den_Computername_%C3% ...
Dort wird folgende Lösung propagiert:
01.
... 
02.
REG add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %pc% /f 
03.
REG add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %pc% /f 
04.
REG add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %pc% /f 
05.
REG add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %pc% /f 
06.
...
Dabei müsste %pc% als Variable den Namen deines PCs enthalten. als gesamtes Programm sieht es denn etwas so aus:
01.
@echo off 
02.
::suchen wir uns mal alle MAC-Adressen, die der Rechner so hat, und rufen für jede! 
03.
:::check MAC auf 
04.
for /f "tokens=10*" %%i in ('ipconfig/all ^| findstr "Ph"') do call :checkMAC %%i 
05.
::vielleicht willst du den Rechner noch neu starten... 
06.
::SHUTDOWN -r -f -t 10 
07.
goto :eof 
08.
 
09.
:checkMac 
10.
::überprüfen ob eine in der Datei macs.vergleichen drin steht, 
11.
::und wenn ja, dann schreiben wir den Namen, der hinter der MAC steht, in eine 
12.
::Text-Datei 
13.
::Dabei muss die macs.vergleichen so aufgebaut sein: 
14.
::AA-BB-CC-DD-EE-FF;Name des Rechners 
15.
echo die MAC %1 wird verglichen: 
16.
for /f "delims=; tokens=1,*" %%j in ('type macs.vergleichen^|findstr "%~1"') do call :renPC %%k 
17.
goto :eof 
18.
 
19.
:renPC 
20.
set pc=%~1 
21.
REG add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %pc% /f 
22.
REG add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %pc% /f 
23.
REG add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %pc% /f 
24.
REG add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %pc% /f 
25.
goto :eof
WARNUNG: ich habe das nicht getestet, ich habe keine Ahnung von den Regestry-Schlüsseln, die da verändert werden, also empfehle ich dir wärmstens, dass du das nicht auf einem nützlichen Rechner probierst!
Wenn du es dennoch probierst, dann viel Erfolg, und berichte, ob es geklappt hat!
Gruß
Bitte warten ..
Mitglied: cloud-strife20
02.12.2008 um 20:38 Uhr
Vielen Dank Ren!
Ich werde es nachher mal ausprobieren...
Bevor ich das aber tue, werde ich aber nochmal sicherhaltshalber ein Image vom System ziehen, fall was schief geht... ;)
Ich werde Dir auf jedenfall Bericht erstatten, ob es geklappt hat!
Ich möchte mich aber schon mal im vorraus bei Dir ganz recht herzlich bedanken!
Ohne dich wäre ich nicht so weit wie jetzt gekommen!
Ich melde mich nachher nochmal, ob es geklappt hat! ^^

Beste Grüße
cloud-strife20
Bitte warten ..
Mitglied: cloud-strife20
03.12.2008 um 18:48 Uhr
Hallo zusammen, Hallo Ren!

ich bräuchte nochmal eure Hilfe, unzwar kann man ja mit dieser Schreibweise den Computernamen aus der Mac-Adressenliste in ein .txt Dokument abspeichern:

echo off

::suchen wir uns mal alle MAC-Adressen, die der Rechner so hat, raus und rufen für JEDE MAC-Adresse "checkMac" auf

for /f "tokens=10*" %%i in ('ipconfig/all ^| findstr "Physikalische Adresse"') do call :checkMAC %%i
goto :eof


:checkMac
::überprüfe oder vergleiche, ob eine MAC-Adresse in der Datei "MAC-Adressenliste.csv" drinne steht,
::und wenn ja, dann schreibe den "Computernamen", der hinter der MAC-Adresse in der Liste steht, in eine Text-Datei
::Dabei muss die "Mac-Adressenliste.csv" so aufgebaut sein:
::AA-BB-CC-DD-EE-FF,Name des Rechners

echo die MAC %1 wird verglichen:
for /f "delims=, tokens=1,*" %%j in ('type C:\Management\Batch\MAC-Adressenliste.csv^|findstr "%~1"') do (echo %%k>Computername.txt)
goto :eof

So meine Idee ist jetzt, dass ich jetzt noch den Befehl gebe, dass die Batch Datei unter dem Pfad: "C:\Management\Batch\Computername.txt" diese Datei öffnet und den darin stehenden Computernamen, sprich z.B.: "ePush MacBook 36" als eine Variable setzt und die dann mit Wsname ausführt:

:renPC
set pc=%~1
cd C:\Management\Batch
wsname /N:%pc%
goto :eof

Das mit der Registryänderung hat bei mir nicht geklappt... Nach einem Neustart möchte Windows nicht mehr richtig hochfahren... Da wird als Fehlermeldung angezeigt...

Da stand folgendes:

Isass.exe Vorgang abgebrochen
Vorgang konnte nicht durchgeführt werden

Gottseidank hatte ich gestern Abend nochmal ein Image gezogen...
Ich bräuchte, wie gesagt, noch das kleine Zwischenstück, wo die Batchdatei auf dem Pfad: "C:\Management\Batch\Computername.txt" sich den Wert (Computername), z.B.: ePush MacBook 36 holt und diese dann als eine Variable festlegen kann z.B.: set pc=%~1

Bitte helft mir!

Beste Grüße
cloud-strife20
Bitte warten ..
Mitglied: cloud-strife20
03.12.2008 um 20:58 Uhr
Hallo nochmal zusammen!

Ich habe mein Problem gelöst bekommen! :D
Ich werde im Verlauf der nächsten Woche zur der ganzen Sache nochmal ein Tutorial aufschreiben, wie man bei mein Anliegen vorangehen muss, um ans Ziel zu gelangen!
Ich muss mich jetzt erstmal an die Arbeit machen, damit ich morgen früh mein Projekt rechtzeitig fertiggestellt bekomme! ;)
Vielen Dank nochmal an Ren, denn ohne Dich hätte ich das nie geschafft! ^^
Also bis Morgen Abend! :D

Beste Früße
cloud-strife20
Bitte warten ..
Mitglied: cloud-strife20
08.12.2008 um 10:40 Uhr
Moin alle zusammen!

Wie ich schon Mittwoch Abend hier im Forum geschrieben habe, wurde mein Problem soweit gelöst. Aber es ist jetzt noch ein winzig kleines Problem dazu gekommen, wo ich einfach nicht weiter komme, unzwar:

weiß einer von euch aus dem Kopf, wo Windows XP die Einstellung für das Standard-WLAN ablegt? In irgendeinem Key der Registry? Oder in einer simplen Text-Datei?

Hintergrund: Ich arbeite nämlich mit Sysprep. Sysprep ist ein Mini-Setup, wo man in einer ".ini-Datei" festlegt, welche Voreinstellung von Sysprep unter Windows XP übernommen werden sollen, wie z.B.: Eintragung der Seriennummer etc.. Auf jedenfall resettet Sysprep nach dem "Mini-Setup" die Netzwerkeinstellungen und somit vergisst Win XP z.B.: sein voreingestelltes, bevorzugtes WLAN. Ich möchten per Batch-Datei oder sonst wie die favorisierte SSID wieder nachpflegen.

Hat einer von euch eine Idee? Bin momentan echt ratlos.

Beste Grüße
cloud-strife20
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows XP
gelöst Suche Win XP Home Premium ISO Datei (7)

Frage von Stefan007 zum Thema Windows XP ...

Batch & Shell
gelöst BATCH ini Datei Datei auslesen (2)

Frage von Juergen42 zum Thema Batch & Shell ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...