VBScript whoami.vbs

Mit dem VBScript whoami.vbs wird die aktuelle IP-Adresse, der Computer und der Benutzername unter Windows ausgegeben.

VBScript whoami

whoami.vbs

' VBScript Source File Created for any
' NAME: whoami.vbs

Const HKCR = &H80000000
Const HKCU = &H80000001
Const HKLM = &H80000002
Const HKU = &H80000003

Set fs = CreateObject("Scripting.FileSystemObject")

'**********************************
'ComputerName aus Registry auslesen
'**********************************

s_Key = "SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName"

s_Wert = "ComputerName"
Set wmireg = GetObject("winmgmts:root\default:StdRegProv")

result = wmireg.GetStringValue(HKLM, s_Key, s_Wert, s_ComputerName)

'**********************************
'UserName aus Registry auslesen
'**********************************

s_Key = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

s_Wert = "DefaultUserName"
Set wmireg = GetObject("winmgmts:root\default:StdRegProv")

result = wmireg.GetStringValue(HKLM, s_Key, s_Wert, s_UserName)

'*****************************************
'IPConfig Daten auslesen und echo ausgeben
'*****************************************

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set IPConfigSet = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")

Set colAdapters = objWMIService.ExecQuery _
    ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

For Each IPConfig in IPConfigSet
   If Not IsNull(IPConfig.IPAddress) Then
      For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
      ausgabe = Wscript.Echo ("IP Address " & IPConfig.IPAddress(i) & vbCrLf & "Computer " & s_ComputerName & vbCrLf & "Username " & s_UserName)
      Next
   End If
Next

Anmerkung

whoami ist ein Unix-Kommando, welches den Benutzernamen des den Befehl aufrufenden Benutzers ausgibt. Der Begriff leitet sich von der englischen Frage Who am I? (auf Deutsch „Wer bin ich?“) ab. Gerade bei Mehrbenutzersystemen wie Unix und verwandten Derivaten sind Benutzer in der Lage, ihre Benutzerkennung zu wechseln, beispielsweise mit dem Unix-Kommando su oder sudo. Vor allem bei älteren Shells, die in dem Prompt nicht den Benutzernamen mit ausgegeben haben, konnten bereits nach wenigen su Verwirrungen bei dem Benutzer auftreten, unter welchem Benutzernamen er gerade arbeitet. Ein kurzer Aufruf des whoami-Kommandos genügt, um sich der aktuell verwendeten Benutzerkennung sicher zu sein.

whoami ist Teil der GNU Core Utilities; die Version wurde von Richard Mlynarik für das GNU-Projekt geschrieben. Mit dem vorliegenden VBScript whoami.vbs wird die aktuelle IP-Adresse, der Computer und der Benutzername unter Windows ausgegeben.

Moderne Unix-Shells setzen beim Anmelden die Umgebungsvariable $USER, die üblicherweise auch im Kommandozeilenprompt ausgegeben wird. Diese enthält jedoch den Benutzernamen, der zur effektiven UID gehört, und nicht zu der realen. Mit einem Aufruf von su ohne Parameter ändert sich beispielsweise nur die reale UID, die effektive jedoch nicht. Daher kann es hier zu Verwirrungen kommen:

$ whoami

Ein Aufruf von su mit dem Parameter – ändert hingegen auch die effektive UID, weil eine neue Login-Shell gestartet wird (und damit auch der Wert der Umgebungsvariable $USER ein anderer ist). Hier ist im Allgemeinen der Aufruf von whoami überflüssig, weil der reale Benutzername dann bereits im Prompt steht:

$ su -

Windows 10 Preview

Windows 10 kommt wieder mit Startmenü anstelle des Modern-UI beim Start.

Windows 10
Windows 10

Das Startmenü beinhaltet wieder wie die von Windows 7 bekannte Programm Liste mit dem Suchfeld, Rechts jedoch sind App Kacheln angeordnet, dort wo zuvor das Menü zur Systemsteuerung, Geräte und Drucker zu finden war. Mit Taste Windows + S erscheint nicht mehr das Modern-UI, sondern es wird das Startmenü geöffnet, auch die Hot Corners und die Charms Bar gibt es weiterhin. Über die Eigenschaften lässt sich das Startmenü und die Navigation anpassen, ebenso gibt es die Tasten Funktion Windows + X und C weiterhin.

Entgegen der Vermutung Windows 8.1 auf 10 könnte mit weiteren Neuerungen überraschen, wird mit der Preview Version jedenfalls ernüchtert sein, fast alles ist wie von Windows 8.1 her bekannt an gewohnter stelle zu finden. Immerhin kann man sagen das Microsoft weiter auf dem richtigen Weg ist, und die rufe der Anwender nach dem gewohnten Startmenü erhört hat.