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

Auslesen des aktuellen Consolen Users

Frage Entwicklung Batch & Shell

Mitglied: L0c4lh0sT

L0c4lh0sT (Level 1) - Jetzt verbinden

26.09.2013 um 15:37 Uhr, 1368 Aufrufe, 5 Kommentare, 2 Danke

Hallo liebe Administratoren,

ich hoffe mal ihr könnt mir helfen. Habe aktuell ein Problem mit einem Batch, dass ich gerade schreibe.

Es geht darum, den Benutzernamen des aktuellen Consolen Users herauszufinden.

Das Problem ist vielleicht ganz einfach zu lösen, aber ich komme nicht drauf.

Und zwar möchte ich nur den Benutzernamen haben, ohne Leerzeichen oder andere Zeichen. Klar könnte ich die Variable mit ":~0,20" auf die ersten 20 Zeichen kürzen, aber es kann durchaus vorkommen, dass Benutzer mit mehr als 20 Zeichen existieren. Außerdem hätte ich dann wieder die Leerzeichen mir drin.

Hier ist das Script:

01.
@echo off 
02.
setlocal 
03.
set qry=query session console 
04.
set fnd=findstr /I /L /C:"console" 
05.
for /f "Tokens=1*" %%u in ('%qry%^|%fnd%') do ( 
06.
 set vsn=%%v 
07.
08.
@echo %vsn% 
09.
endlocal
Der Benutzername des aktiven Benutzers soll hinterher in der Variablen "vsn" stehen

Gruß
Alex
Mitglied: Penny.Cilin
26.09.2013 um 15:48 Uhr
Hallo Alex,

warum so umständlich? Nehme QWINSTA.


Gruss Penny.
Bitte warten ..
Mitglied: AnonBorg
26.09.2013 um 16:00 Uhr
Hi,

%username%
mach mal ein "set" auf der console, dann siehst Du alle Systemvariablen die Dir zur Verfügung stehen.

echo %username% sollte den aktuellen Namen ausgeben, auch wenn die console mit run as gestartet wurde.


René
Bitte warten ..
Mitglied: L0c4lh0sT
26.09.2013 um 16:50 Uhr
Das funktioniert leider nur, wenn man selbst der aktuelle Benutzer ist. Wenn das Script aber als Automatisierter Task mit Systemrechten ausgeführt wird, bringt mir das nichts ;) Danke trotzdem.

@Penny.Cillin
Gib mal in einer cmd "QWINSTA /?" ein. Na was kommt? Richtig "Query session". Das ist ein und der selbe befehl. Bringt mich hier auch nicht weiter, da nur der Benutzername in der Variablen stehen soll. Aber an sich hast du recht und ich könnte anstatt "query session console" auch "qwinsta console" nehmen
Auch dir natürlich ein Danke

Gruß
Alex
Bitte warten ..
Mitglied: Endoro
27.09.2013 um 00:54 Uhr
Hi, das sollte es tun (nicht an veralteten Windows Versionen getestet):
01.
@echo off &setlocal 
02.
for /f "tokens=*delims=>" %%a in ('query user^|find /i "console"') do set "user=%%a" 
03.
set "right=console%user:*console=%" 
04.
call set "user=%%user:%right%=%%" 
05.
set "user=%user: =%" 
06.
echo "%user%"
lg.
Bitte warten ..
Mitglied: L0c4lh0sT
27.09.2013 um 07:59 Uhr
Vielen Dank Endoro das funktioniert super!

Wusste doch das es irgendwie möglich ist.
Könntest du mir noch erklären was genau passiert bei dem Script?`
Also ich mein jetzt nicht die elementaren sachen wie setlocal oder die FOR-Schleife.

Aber gerade Zeile 3 und 4 interessieren mich doch sehr. Habe ich so noch nicht gesehen.
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Account-Sperrungen eines AD-Users auslesen (2)

Frage von MissJones zum Thema Windows Server ...

Batch & Shell
Per Batch aktuell angemeldete User auslesen (1)

Frage von Peter32 zum Thema Batch & Shell ...

Xenserver
XenCenter VM Console Remotezguriff (5)

Frage von sunics zum Thema Xenserver ...

Windows Server
gelöst WSUS Console auf einmal Verbindungsfehler (12)

Frage von Akcent zum Thema Windows Server ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

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

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (10)

Frage von D-Line zum Thema Microsoft Office ...