Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
GELÖST

String herausfiltern

Frage Entwicklung Batch & Shell

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

13.08.2014, aktualisiert 14.08.2014, 926 Aufrufe, 5 Kommentare

Hallo,
ich möchte gerne bei vielen Maschinen per Loginscript den FQDN ermitteln.
Dafür wollte ich ihn aus der Rückgabe von: ping -a 127.0.0.1 herauslösen und in eine Variable schreiben. Er steht ja immer an der selben Stelle.

Beispiel für die Rückgabe:
01.
C:\> ping -a -n 1 127.0.0.1 
02.
 
03.
Ping wird ausgeführt für PC001.DOMAIN.local [127.0.0.1] mit 32 Bytes Daten: 
04.
Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
Also brauche ich alles von der ersten Zeile der Rückgabe ab dem 4. Leerzeichen bis zum nächsten Leerzeichen.

Gruß
Torsten

Mitglied: colinardo
13.08.2014, aktualisiert um 13:22 Uhr
Hallo Torsten,
wie wärs stattdessen simpler mit:
echo %COMPUTERNAME%.%USERDNSDOMAIN%
Grüße Uwe
Bitte warten ..
Mitglied: LordXearo
13.08.2014, aktualisiert um 13:22 Uhr
Hallo,

echo %COMPUTERNAME%.%USERDNSDOMAIN%

Gruß

Xearo

Edit: zu langsam =(
Bitte warten ..
Mitglied: goodbytes
13.08.2014 um 14:57 Uhr
Ja, das funktioniert solange der User an der Domain angemeldet ist. Wenn die Maschine zwar in der Domain ist, aber ein lokaler User sich angemeldet hat ist diese Variable leer (unter Win7). Unter WinXP geht es gar nicht, Daher wollte ich es eindeutig für die Maschine mittels ping -a ermitteln.

Gruß
Torsten
Bitte warten ..
Mitglied: colinardo
LÖSUNG 13.08.2014, aktualisiert 14.08.2014
Über das auslesen des Ping geht es so (habe mit skip gearbeitet, da mit findstr unterschiedliche Sprachen der Systeme beachtet werden müssten):
01.
for /f "skip=1 tokens=5 delims= " %%a in ('ping -n 1 127.0.0.1') DO @( 
02.
 set "FQDN=%%a" 
03.
 goto next 
04.
05.
:next 
06.
echo %FQDN%
ich würde es aber zuverlässiger über wmi machen:
01.
for /f "skip=1 tokens=1,2" %%a in ('wmic Computersystem get DNSHostname^,Domain') DO @( 
02.
  set "FQDN=%%a.%%b" 
03.
  goto next 
04.
05.
:next 
06.
echo %FQDN%
Grüße Uwe
Bitte warten ..
Mitglied: Biber
LÖSUNG 13.08.2014, aktualisiert 14.08.2014
...oder, als Ergänzung zu colinardos Lösungen, dasselbe mit "if defined" statt "goto next".

Dann lässt es sich auch am CMD-Prompt verproben in einem Einzeiler.

Am Beispiel der Ermittlung des Strings über WMIC am CMD-Prompt:

01.
for /f "skip=1 tokens=1,2" %a in ('wmic Computersystem get DNSHostname^,Domain') DO @(If not defined FQDN (set "FQDN=%a.%b" & set FQDN))
--> bei Ausführung am CMD-Prompt wird die Variable FQDN gesetzt und zur Kontrolle angezeigt.

Als Batch dann so (Variable FQDN bei der "if defined"-Strategie aber vorher löschen, sonst wird sie nie neu gesetzt)
01.
... 
02.
SET FQDN= 
03.
for /f "skip=1 tokens=1,2" %%a in ('wmic Computersystem get DNSHostname^,Domain') DO @( 
04.
  If not defined FQDN set "FQDN=%%a.%%b"  
05.
06.
echo FQDN: %FQDN%
Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Visual Studio
gelöst DotNet String Sortierung (5)

Frage von emeriks zum Thema Visual Studio ...

Batch & Shell
Hochkomma im String vom Bash shell (7)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Batch & Shell ...

Batch & Shell
String Zeichenpaare auslesen und bearbeiten (6)

Frage von ahstax zum Thema Batch & Shell ...

Batch & Shell
gelöst Vergleiche Strings in CMD (4)

Frage von it4baer zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

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