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

PC Name in der Liste dann Update und IP Abfrage

Frage Entwicklung Batch & Shell

Mitglied: derauserbayerische

derauserbayerische (Level 1) - Jetzt verbinden

24.11.2010 um 17:47 Uhr, 3058 Aufrufe, 15 Kommentare

Hi,

Ich Plane zurzeit ein Script das als ersten den PC Namen mit einer TXT vergleichen wenn vorhanden dann soll die IP Adresse Ausgewertet werden und wenn am dritten Oktett eine gewisse Nummer erfolgt soll ein diese Daten Kopieren

Hintergrund:
mehre File Server an unterschiedlichen Standorten daher muss eine IP abfrage kommen von welchem Server die Daten Kopiert werden
die PC Name Abfrage wird benötigt da sich diese Clints immer wieder ändern und nicht alle die Daten Kopieren sollen

Jemand Erfahrung mit so was bzw. vielleicht schon ein Skript oder kann mir helfen ?

Gruß
Mitglied: bastla
24.11.2010 um 19:55 Uhr
Hallo derauserbayerische!

Passend zu den von Dir beschriebenen Fragmenten:
Verwende "findstr" zum Vergleichen,
ermittle die IP mit "ipconfig",
zerlege sie mit "for /f" (mit passenden Delimitern wird Dich Token Nr 5 interessieren),
prüfe mit "if" und
kopiere mit "copy" / "xcopy" ...

Grüße
bastla
Bitte warten ..
Mitglied: 60730
24.11.2010 um 20:18 Uhr
moin,

'türlich haben wir sowas schon

Alternativ würde ich aber den ganzen Killefitz nicht veranstalten und das Script auf ein minimum reduzieren.

01.
if "%logonserver%"=="\\serverstandort1" set bla=blub 
02.
if "%logonserver%"=="\\serverstandort2" set bla=blub²
@Bastla. klar, aber bei Ipconfig (hatten wir ja schon mehrmals) kommen "alle" Ips raus, die die Kiste haben kann.
Ping -n 1 %computername% |find "192.168.111" usw usf

Gruß
Bitte warten ..
Mitglied: bastla
24.11.2010 um 21:28 Uhr
@T-Mo
aber bei Ipconfig (hatten wir ja schon mehrmals) kommen "alle" Ips raus, die die Kiste haben kann.
... und vielleicht ist ja eine dabei, die passt (muss ja ohnehin gegengecheckt werden) - und wenn nicht, dann nicht ...

Grüße
bastla
Bitte warten ..
Mitglied: 60730
24.11.2010 um 22:23 Uhr
@bastla:
... und vielleicht ist ja eine dabei, die passt (muss ja ohnehin gegengecheckt werden) - und wenn nicht, dann nicht ...

..."naja" angenommen ich hab einen aktiven Software VPN Tunnel auf dem Notebook, der liefert mir natürlich eine valide Ip vom Standort x.
Obwohl ich in einem ganz anderen "Standort" sitze - das Problem hat man mit dem Logonserver nicht (ok-beim VPN Router, der den Tunnel schon vor dem anmelden offen hat - wärs Jacke wie Hose)

Grüße
bastla

Retour
Bitte warten ..
Mitglied: derauserbayerische
07.12.2010 um 12:07 Uhr
hi,
so jetzt habe ich wieder etwas zeit für das projekt

leider hat nicht jeder standort einen logonserver
sonder nur einen NAS Server

daher wäre eine IP auswertung doch erheblich einfacher
wobei auch hier das Problem der VPN User wäre diese eine IP zugewisen bekommen die nicht die normale lokale wäre
Bitte warten ..
Mitglied: derauserbayerische
07.12.2010 um 12:11 Uhr
diese problem trifft bei uns zum glück nicht zu

da die User an den Ausenstandorten sich nicht per VPN einlogen müssen
sonder nur von Zuhause und in dem fall gibt es eine VPN IP die zum Hauptstandort läuft

gruß
Bitte warten ..
Mitglied: derauserbayerische
04.01.2011 um 11:23 Uhr
So wollte mal kurz eine meiner Lösungen Zeigen


01.
 FINDSTR /I /x %COMPUTERNAME% "update.txt" 
02.
IF errorlevel == 0 GOTO ok


so die Auswertung ist ja noch ganz einfach
um dann die IP auszuwerten
mache ich ein Ping auf mich selber und zähle dann die oktett durch

01.
for /f "tokens=2 Delims=[] skip=1" %%i in ('ping -n 1 %computername% -4') do (for /f "tokens=3 delims=." %%j in ('echo %%i') do set Oktett=%%j)


gruß
Bitte warten ..
Mitglied: bastla
04.01.2011 um 11:45 Uhr
Hallo derauserbayerische!

Das ließe sich beides noch etwas komprimierter schreiben:
FINDSTR /I /x %COMPUTERNAME% "update.txt" && goto :ok
bzw
for /f "tokens=2 Delims=[]" %%i in ('ping -n 1 %computername% -4') do (for /f "tokens=3 delims=." %%j in ("%%i") do set Oktett=%%j)
wobei es sicherer wäre, %Oktett% vorweg zu löschen und danach ev auf die Existenz der Variablen zu prüfen, also etwa
01.
set "Oktett=" 
02.
for /f "tokens=2 Delims=[]" %%i in ('ping -n 1 %computername% -4') do (for /f "tokens=3 delims=." %%j in ("%%i") do set Oktett=%%j) 
03.
if not defined Oktett ( 
04.
    echo Keine IP gefunden! 
05.
    goto :KeineIP 
06.
)
Grüße
bastla
Bitte warten ..
Mitglied: derauserbayerische
04.01.2011 um 15:24 Uhr
die Idee mit der Abfrage ist sehr gut ...

bin gerade am schauen wie ich es hinbekommen das der PC sich selber wenn vorhanden aus der TXT Löschen
das ist schein bar nicht so leicht

ohne zweite TXT ist das garnicht möglich oder ??

das einfach Löschen wenn vorhanden klappt aber dann ist die ganze TXT weg
01.
for /f "delims=" %%A in ('Findstr /i /M "%computername%" C:\TEMP\update.txt') Do Del "%%A"
Bitte warten ..
Mitglied: bastla
04.01.2011 um 15:32 Uhr
Hallo derauserbaeyerische!
ohne zweite TXT ist das garnicht möglich oder ??
Richtig; sollte sich etwa so realisieren lassen:
01.
set "Liste=C:\TEMP\update.txt" 
02.
set "ListeTemp=%temp%\update.txt" 
03.
 
04.
move "%Liste%" "%ListeTemp%" 
05.
findstr /i /x /v "%username%" "%ListeTemp%">"%Liste%"
Grüße
bastla
Bitte warten ..
Mitglied: derauserbayerische
07.01.2011 um 16:27 Uhr
hmm sehr gut ... aber irgenwie klappt es nicht
nur wen die txt leer ist sagt er kein update sonst ist angeblich immer vorhanden

selbst wenn ich die ListeTemp=%temp%\update.txt vorher noch mal löschen lasse

01.
@ECHO OFF 
02.
 
03.
DEL /F "%temp%\update.txt" 
04.
 
05.
set "Liste=C:\TEMP\update.txt"  
06.
set "ListeTemp=%temp%\update.txt"  
07.
 
08.
move "%Liste%" "%ListeTemp%"  
09.
findstr /i /x /v "%COMPUTERNAME%" "%ListeTemp%">"%Liste%" && goto :ok 
10.
 
11.
:nup 
12.
ECHO. 
13.
ECHO kein Update 
14.
ECHO. 
15.
PAUSE 
16.
 
17.
:ok 
18.
ECHO. 
19.
ECHO Update vorhanden 
20.
ECHO.  
21.
PAUSE
Bitte warten ..
Mitglied: 60730
07.01.2011 um 16:56 Uhr
moin,

naja das ist ja auch logisch...

findstr /v "bla" liefert ja immer (ausser die Datei ist nicht vorhanden) einen Errorlevel0 zurück, denn er findet dann ja auch was....
ungetestet
01.
rem @ECHO OFF 
02.
 
03.
set "Liste=C:\TEMP\update.txt"  
04.
set "ListeTemp=%temp%\update.txt"  
05.
 
06.
findstr /i "%COMPUTERNAME%" "%Liste%" && move "%Liste%" "%ListeTemp%" 
07.
if exist %ListeTemp% findstr /i /v "%COMPUTERNAME%" "%ListeTemp%">"%Liste%" && goto :ok 
08.
 
09.
:nup 
10.
ECHO. 
11.
ECHO kein Update 
12.
ECHO. 
13.
PAUSE 
14.
 
15.
:ok 
16.
ECHO. 
17.
ECHO Update vorhanden 
18.
ECHO.  
19.
PAUSE 
20.
DEL /F "%temp%\update.txt"
Gruß
Bitte warten ..
Mitglied: bastla
07.01.2011 um 16:58 Uhr
Hallo derauserbayerische!

Es ging hier doch nur um das Entfernen aus der Liste, und nicht um die Abfrage, ob noch enthalten ...

[Edit]
@T-Mo
einacher:
01.
findstr /i /x "%COMPUTERNAME%" "%Liste%" >nul && ( 
02.
    move "%Liste%" "%ListeTemp%"  
03.
    findstr /i /x /v "%COMPUTERNAME%" "%ListeTemp%">"%Liste%" 
04.
    goto :ok 
05.
)
[/Edit]

Grüße
bastla

[Edit2] Den von T-Mo dankenswerter Weise gespendeten Weihnachtsgansteil an seinen Platz gebracht [/Edit2]
Bitte warten ..
Mitglied: 60730
07.01.2011 um 17:07 Uhr
Moin Bastla,

ich hab mal nur gedacht und nicht nachgedacht, dafür aber zur Abwechslung mal "getestet"

Geht bestimmt noch viel einfacher, aber der Bock lag ja an einer Nummer, die immer 0 auswürfelt.
Das wollte ich doch nur aufzeigen.

Ich kaufe mir (hab ich schon und) dir ein paar Füße für die nachträgliche Weihnachtsgans ("%Liste% >nul)
Zitat von bastla:
Hallo derauserbayerische!

Es ging hier doch nur um das Entfernen aus der Liste, und nicht um die Abfrage, ob noch enthalten ...

[Edit]
@T-Mo
einfacher:
01.
findstr /i /x "%COMPUTERNAME%" "%Liste%" >nul && ( 
02.
    move "%Liste%" "%ListeTemp%"  
03.
    findstr /i /x /v "%COMPUTERNAME%" "%ListeTemp%">"%Liste%" 
04.
    goto :ok 
05.
 )
[/Edit]

Grüße
bastla

retour
Bitte warten ..
Mitglied: bastla
07.01.2011 um 17:46 Uhr
... obwohl: Eigentlich müsste das ja insgesamt eher so ausehen:
01.
findstr /i /x "%COMPUTERNAME%" "%Liste%" >nul || goto :ok 
02.
 
03.
:nup 
04.
ECHO. 
05.
ECHO Führe Update durch ... 
06.
ECHO. 
07.
 
08.
REM Update 
09.
 
10.
REM Rechner aus der Liste entfernen 
11.
move "%Liste%" "%ListeTemp%"  
12.
findstr /i /x /v "%COMPUTERNAME%" "%ListeTemp%">"%Liste%" 
13.
 
14.
goto :Ende 
15.
 
16.
:ok 
17.
ECHO. 
18.
ECHO Update vorhanden 
19.
ECHO.  
20.
 
21.
:Ende 
22.
PAUSE
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Netzwerkmanagement
Seriennummer als PC Name im Firmennetz? (26)

Frage von BlueShadow9 zum Thema Netzwerkmanagement ...

Windows 10
Windows-Update macht Minix-PC unbrauchbar (1)

Link von runasservice zum Thema Windows 10 ...

Netzwerkgrundlagen
gelöst PC in DMZ erhält keine IP per DHCP (pfSense) (10)

Frage von Shape.Shifter zum Thema Netzwerkgrundlagen ...

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

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

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 ...