Ada berbagai saran tentang cara menentukan nama pengguna saat ini di shell perintah windows tanpa menggunakan whoami
, seperti pertanyaan ini atau pertanyaan ini . Jawaban generik tampaknya echo %username%
. Namun, ketika saya melakukan ini (pada Windows XP), shell menjawab dengan %username%
. Apakah saya melewatkan sesuatu?
windows-xp
command-line
user-accounts
countermode
sumber
sumber
username
tidak disetel, atau disetel ke string literal%username%
. Untuk mencari tahu yang mana, ketikset username
. Keduanya tidak mungkin, tetapi tebakan terbaik saya adalah Anda telah menjalankan file batch yang digunakanusername
sebagai variabel kerja dan menghapusnya saat keluar, jadi cari string file Andausername
(pencarian case-sensitive)Jawaban:
mungkin Anda kehilangan variabel lingkungan USERNAME karena beberapa alasan. Jalankan perintah yang ditetapkan dan itu akan mencantumkan variabel lingkungan dan nilainya. XP saya memiliki USERNAME dan saya tidak menambahkannya, jadi XP memilikinya .. anehnya milik Anda tidak. Tetapi jalankan mengatur dan melihat apa yang Anda miliki
Banyak variabel lingkungan memiliki pengguna
Ditambahkan
Dalam contoh yang mirip dengan yang Anda masuki. Di sini saya telah login ke mesin dari jarak jauh, ia menjalankan bvsshserver (bitvise ssh server aka winsshd) (yang ketika login bahkan dari klien cygwin, akan memberikan baris perintah windows) meskipun openssh server via cygwin memberi bash .. Anda dapat menggunakan openssh client di cygwin untuk masuk ke bitvise sshd dan mendapatkan baris perintah windows
Dalam hal ini "VIRTUSER" memiliki nama pengguna, meskipun berbeda dengan yang ditunjukkan oleh whoami.
Server SSH apa (atau program server jarak jauh) yang dijalankan oleh mesin XP Anda?
sumber
set
adalah saran yang bagus, meskipun tidak banyak memberi tahu dalam situasi tertentu.username
tidak diatur danwhoami
tidak terpasang.%TEMP%
antara? saya akan terkejut jika win xp pre sp1 sangat terbatas! berapa banyak pengguna di sana! mungkin melihat di c: \ dokumen dan pengaturan melihat berapa banyak folder yang ada. Jika mesin memiliki begitu banyak hal yang dihapus mungkin hanya ada satu profil pengguna di sana! (yang mengatakan .. tidak diragukan lagi saya tidak memiliki pengguna virtual winshd yang tercantum dalam dokumen dan pengaturan saya)%TEMP%
diatur.Anda tidak melewatkan apa pun. Mungkin Anda menjalankannya dengan PowerShell? Jika Anda tidak mendapatkan nilai yang benar dari cmd, itu adalah sesuatu yang harus Anda selidiki lebih lanjut.
Ketika dalam prompt perintah Windows (cmd bukan PowerShell), masukkan:
Saat di PowerShell, masukkan:
sumber