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

Scannen verschiedener IP-Bereiche

Frage Entwicklung Batch & Shell

Mitglied: Ghost-Worker

Ghost-Worker (Level 1) - Jetzt verbinden

14.08.2012 um 06:00 Uhr, 3120 Aufrufe, 8 Kommentare

Hallo zusammen,

ich habe hier ein kleines Problem, bei dem ich nicht mehr weiter komme.

Es soll von mehreren Rechnern die in unseren Anlagen verbaut sind ein Backup des integrierten vxworks-Controller gemacht werden.
Der Controller hat immer die IP 10.173.xxx.1 und das Betriebssystem - hier Windows XP - die 10.173.xxx.2.
Da das dritte IP-Oktett immer anders sein kann, habe ich ein Skript zum Scannen der MCs erstellt.

Scan_IPs.cmd
01.
:: Settings 
02.
Set IP=10.173 
03.
Set Log=MCs.txt 
04.
 
05.
 
06.
:: Delete log file 
07.
If Exist %Log% Del %Log% 
08.
 
09.
 
10.
:: 1.Start IP, 2.Size of scan step, 3.End IP (D = Third Oktett) 
11.
For /L %%D In (0,1,150) DO ( 
12.
 
13.
    :: 1.Start IP, 2.Size of scan step, 3.End IP (V = Forth Oktett) 
14.
    For /L %%V In (1,1,1) Do ( 
15.
      ping -n 1 -w 5 %IP%.%%D.%%A|find "TTL=" && Echo %IP%.%%D.%%V>> %Log% 
16.
17.
 
18.
)
Die MCs.txt wird dann später eingelesen und entsprechend das Backup ausgeführt.
Das funktioniert auch so weit.


MCs.txt
01.
::All available IPs 
02.
10.173.110.1

Scan_IPs.cmd
01.
:Read IPs 
02.
:: All available IPs 
03.
For /F "tokens=1,*" %%i In (%Log%) Do Call :Action %%i 
04.
 
05.
 
06.
:Action 
07.
If /I "%1" == "10.173.110.1" Goto Machine1 
08.
If /I "%1" == "" Goto NoMachine 
09.
 
10.
Goto :EOF 
11.
 
12.
 
13.
:Machine1 
14.
Set Name=Machine1 
15.
 
16.
Call MC_Backup.cmd %Name% %1
In der MC_Backup.cmd hole ich mir dann die Daten per FTP vom Controller und zippe sie zusammen.

Allerdings hätte ich noch jetzt gerne die entsprechende Projektnummer in das anschließend Zip-File im Namen integriert.
Die Nummer ist bei uns im Computernamen verankert und kann da ausgelesen werden.
Das sollte dann in etwa so aussehen:
%Projektnummer%_%MC_Backup_Anlage_Datum%.zip

Leider weiß ich nicht wie ich das genau hier unterbringen kann - so dass bei dem Aufruf des Backupscripts auch der Computernamen bzw. die Projektnummer des jeweiligen Rechners mitgeht.

Ich hoffe das ich es nicht allzu kompliziert erklärt habe und hoffe das ihr mir da weiterhelfen könnt.

Thx
GW
Mitglied: Darkprodukt
14.08.2012 um 12:44 Uhr
Hallo,

das 1. solte so fungtionieren ;)
01.
:: Settings 
02.
Set IP=10.173 
03.
Set Log=MCs.txt 
04.
 
05.
:: Delete log file 
06.
If Exist %Log% Del %Log% 
07.
 
08.
:: 1.Start IP, 2.Size of scan step, 3.End IP (D = Third Oktett) 
09.
For /L %%D in (0,1,150) do ping -n 1 -w 5 %IP%.%%D.1|find "TTL=" && Echo %IP%.%%D.1>>%Log%
Bei 2. hab ich leider noch keinen Ansatz

Grüße
Darkprodukt
Bitte warten ..
Mitglied: Ghost-Worker
20.08.2012 um 21:01 Uhr
Der erste Teil (Scan_IPs.cmd) läuft auch sauber durch.

Um an den jeweiligen Computernamen zu kommen, muss ich über die IP x.x.x.2 auf den Remoterechner drauf und diesen auslesen.
Im Moment mache ich das aus meiner Sicht recht umständlich ...

Ich gehe per PsExec und einen Script auf den Remoterechner, lese den Computernamen aus, schreibe ihn in eine Datei, kopiere diese Datei auf den Rechner von dem das Script ausgeführt wurde und lese die Datei dann aus.
Ist recht umständlich, aber leider sehe ich gerade keine andere Möglichkeit.

Hoffe das jemand von euch noch einen guten Einfall hat.

Danke
GW
Bitte warten ..
Mitglied: Dobby
21.08.2012 um 00:01 Uhr
Hallo Ghost-Worker,

ich sage es mal lieber gleich, ich habe Code schreiben und scripten gar keinen plan, also bitte nicht durchdrehen.

Es gibt ein Programm von ColaSoft das heißt MacScanner und listet Dir alle IP Adressen, Mac Adressen und Hostnamen von einem Netzwerk auf wie z.B. 192.168.1.0 /24 und dann kann es das Ergebnis in eine Textdatei exportieren! Es gibt doch Programme die sich minimiert starten lassen mittels eines Kommandos
na und wenn das auch bei dem MacScanner geht dann kann dein Script ja das Programm anweisen und das Ergebnis in eine Textdatei exportieren lassen. Dann Hast Du die IP / MAC / Hostnamen in einer Textdatei!

Ok Du müsstest natürlich dein Script wohl anweisen erst einen Ordner zu erstellen mit dem derzeitigen Projektnamen, dann die IP Adressen nach und nach aus dieser Textdatei holen lassen und dann
soll es doch mal den Rest der benötigten Daten von diesem Windows XP Computer der zu dieser IP Adresse gehört holen und zum Schluss den dazugehörigen Hostnamen wieder aus der Textdatei holen und fertig. Das wird dann in einer Textdatei die den Hostnamen oder die IP Adresse trägt gespeichert in dem Projektordner gespeichert. Oder ganz wie Du das haben willst und möchtest.

Allerdings hat das auch noch einen Haken, der MacScanner ließt auch die IP / MAC / Hostnamen der Drucker, Scanner und anderer Geräte aus und die haben ja keinen vxworks-Controller und ich weiß auch nicht wie viele davon im Netz sind, aber wenn es nur ein paar sind kann man doch bestimmt mit if name
HP.. then drop IP und das Script läuft weiter durch ohne diese zu beachten.
In 6 Sekunden ca. 80 IP´s / MAC´s / Hostnamen, ich denke der Scanner ist flott.

Falls das nicht funktioniert ein Entschuldigung fürs Zeit stehlen!

Bis dann D.o.b.b.y
Bitte warten ..
Mitglied: Ghost-Worker
21.08.2012 um 18:51 Uhr
Hi D.o.b.b.y,

danke für den Tip.
Werde das Tool mal testen.

Thx
GW
Bitte warten ..
Mitglied: Darkprodukt
23.08.2012 um 01:14 Uhr
Hallo,

Soweit ich das gerade Lese, kommt es mit so vor, als ob die IP'S nur zum herausfinden der Computernamen gebraucht werden.

Wie wäre den einfach gleich mit
01.
net view
Grüße
Darkprodukt
Bitte warten ..
Mitglied: Ghost-Worker
24.08.2012 um 18:27 Uhr
@Darkprodukt:
Genau so ...
Ich brauche nur den Computernamen des Remoterechners - mehr nicht.

Mit net view bin ich leider nicht weiter gekommen.

Im Moment lese ich per Remotescript den Computernamen aus und schiebe ihn auf den Hostrechner per Datei rüber, die dann ausgelesen und verarbeitet wird.

Finde das nur etwas umständlich und langsam.

Diese Lösung funktioniert zwar, ist aber etwas umständlich.

Danke
GW
Bitte warten ..
Mitglied: Ghost-Worker
28.08.2012 um 19:01 Uhr
Ich bin jetzt etwas weiter gekommen.

Den Computernamen des Remotecomputers kann ich nun per
01.
psexec \\x.x.x.x -u aaa -p bbb reg query "HKEY_LOCAL_MACHINE\System\ControlSet001\Control\ComputerName\ComputerName" >> Name.txt
In der Name.txt steht dann
 
! REG.EXE VERSION 3.0 
 
HKEY_LOCAL_MACHINE\System\ControlSet001\Control\ComputerName\ComputerName 
    ComputerName        REG_SZ        Rechner1
auslesen.
Im nächsten Schritt wollte ich dann den Namen (Rechner1) direkt einer Variablen zuweisen.
Hierfür habe ich mir das mal zusammengebaut.
01.
For /F "tokens=3 delims=        " %%A In ('psexec \\x.x.x.x -u aaa -p bbb reg query "HKEY_LOCAL_MACHINE\System\ControlSet001\Control\ComputerName\ComputerName"') Do Set Name=%%B 
02.
 
03.
Echo %Name%
Leider geht das nicht.
Hat hier jemand eine Idee oder einen Tritt in die richtige Richtung?!

Danke
GW
Bitte warten ..
Mitglied: Ghost-Worker
07.09.2012 um 08:24 Uhr
Ich habe es jetzt so gelöst ...

Get_computername.cmd
01.
@Echo Off & Setlocal 
02.
 
03.
:: Settings 
04.
Set Remote_IP=xx.xx.xx.xx 
05.
Set "File=Read_computername.vbs %Remote_IP%" 
06.
 
07.
:: Read return value 
08.
for /f "delims=" %%i in ('cscript //nologo %File%') do set "Computername=%%i" 
09.
 
10.
:: Output 
11.
Echo. 
12.
Echo %Remote_IP% 
13.
Echo %Computername% 
14.
Echo. 
15.
 
16.
Pause

Read_computername.vbs
01.
' Catch Computername 
02.
strIP = wscript.Arguments(0) 
03.
 
04.
' Read computer name 
05.
Set objWMIService = GetObject("winmgmts:\\" & strIP & "\root\cimv2") 
06.
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48) 
07.
 
08.
For Each objItem in colItems 
09.
         strComputername = objItem.CSName 
10.
Next 
11.
 
12.
' Return value 
13.
Wscript.echo (strComputername)
Zumindest bekomme ich jetzt den Wert/Namen, den ich brauche.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
IP-Einstellungen werden falsch angezeigt (5)

Frage von schlumpf90 zum Thema Windows Server ...

Firewall
gelöst Site-to-Site-VPN und Cisco VPN-Client von gleicher IP (2)

Frage von TripleDouble zum Thema Firewall ...

Erkennung und -Abwehr
Backdoor in IP-Kameras von Sony (5)

Link von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Netzwerke
LAN und WLAN je mit gleicher IP (13)

Frage von dauatitsbest zum Thema Netzwerke ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...