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

Umgebungs- bzw. Benutzervariable mit einem Befehl füllen

Frage Entwicklung Batch & Shell

Mitglied: W2K-Networker

W2K-Networker (Level 1) - Jetzt verbinden

12.02.2013 um 14:37 Uhr, 1800 Aufrufe, 4 Kommentare

Hallo,

ich habe hier folgendes Problem:

Ich will mir den Vor- und Nachnamen eines jeden Benutzers in eine seperate Variable schreiben, um diese dann nutzen zu können.

z.b. will ich die Regsitry Werte UserName, UserInitials und Company unter HKEY_CURRENT_USER\ Software\Microsoft\Office\Common\UserInfo mit den folgenden Werten füllen:

UserName mit dem Vor- und Nachnamen des jeweiligen Benutzers
und
UserInitials mit jeweils dem ersten Buchstaben des Vor- und Nachnamens

Meine erste Idee hierzu war:
set fn=<%windir%\System32\dsquery.exe user -samid %username% |dsget user -fn
set ln=<%windir%\System32\dsquery.exe user -samid %username% |dsget user -ln

Funktioniert leider so nicht. Ich vermute das liegt ganz einfach daran, daß das Ergebnis der dsquery.exe Abfrage einen Output mit mehreren Zeilen zurückgibt. Der Output sieht nämlich so aus:

fn
Karl
dsget war erfolgreich

Jetzt denke ich muss ich genau diese Ausgabe irgendwie zerlegen, so daß ich nur noch den Namen übrig behalte, um diesen dann an den set Befehl übergeben zu können.

Und genau hier ist mein Problem, warum ich diesen Thread hier schreibe.
Ich hoffe mir kann hier jemand helfen die Ausgabe des Befehls %windir%\System32\dsquery.exe user -samid %username% |dsget user -fn so zu zerlegen, daß nur noch der Name selbst übrig bleibt.
Mitglied: bastla
12.02.2013, aktualisiert um 20:21 Uhr
Hallo W2K-Networker!

Ich würde zwar eher ein VBScript verwenden (wie zB [http://www.administrator.de/forum/variable-zur-ausgabe-des-active-directory-benutzernamens-74720.html hier}), aber mit dsquery / dsget könntest Du das so versuchen:
for /f "tokens=1* delims=: " %%i in ('dsquery user -samid %username%^|dsget user -fn -L^|findstr /b "fn:"') do set "fn=%%j"
Grüße
bastla
Bitte warten ..
Mitglied: W2K-Networker
13.02.2013 um 10:24 Uhr
Hallo bastla,

Vielen Dank für die Antwort.

for /f "tokens=1* delims=: " %%i in ('dsquery user -samid %username%^|dsget user -fn -L^|findstr /b "fn:"') do set "fn=%%j"
ist genau das was ich gesucht habe und es funktioniert einwandfrei.

Kannst du mir vielleicht die Funktion etwas erklären oder vielleicht einen guten Link geben der gerade auf dieses tokens und delims eingeht.

Vielen Dank.
Bitte warten ..
Mitglied: andimue
13.02.2013 um 12:04 Uhr
Hallo W2K-Networker,

die eingebaute Hilfefunktion im for ( for /? ) ist eigentlich schon ganz gut.

Hilfreich ist auch immer ein Blick auf http://www.robvanderwoude.com

Gruß
Andi
Bitte warten ..
Mitglied: bastla
13.02.2013 um 12:46 Uhr
... aber vor allem: Tutorial zur FOR-Schleife

Sollten dann noch Fragen offen bleiben: einfach fragen .

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Switche und Hubs
Industrieswitche für staubige Umgebung (7)

Frage von cableguy007 zum Thema Switche und Hubs ...

Windows Server
gelöst Zebra Treiber für provisionierte Umgebung (8)

Frage von Hoerti zum Thema Windows Server ...

Backup
Iperius Backup Full Version 4.9.3 (4)

Frage von Judgelg zum Thema Backup ...

Windows Server
Terminalserver 2012 R2 Umgebung (3)

Frage von Mr.White zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (18)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (17)

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

Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...