在 Windows 操作系统中,whoami 命令与在 Unix/Linux 系统中类似,用于显示当前登录用户的用户名。它的作用和用法与 Unix/Linux 系统中的相似。

whoami | Microsoft Learn

 

whoami 命令用于显示当前登录用户的用户名。它的起源可以追溯到 Unix 和类 Unix 操作系统,如 Linux。在这些系统中,whoami 命令通常用于查看当前 shell 进程所关联的用户标识。

Unix 操作系统中的 whoami 命令最早出现在 1979 年的 BSD 版本中,用于显示当前登录用户的用户名。后来,它被添加到许多其他的 Unix 变体和类 Unix 操作系统中,并成为了标准的命令之一。

在 Windows 操作系统中,whoami 命令也被引入,并且具有与 Unix 中相似的功能。它通常用于查看当前 Windows 用户的用户名和所属的用户组。

 whoami 命令是一个简单但常用的命令行实用程序,用于确定当前用户的标识。

 

在 Windows 操作系统中,whoami 命令与在 Unix/Linux 系统中类似,用于显示当前登录用户的用户名。它的作用和用法与 Unix/Linux 系统中的相似。

为什么要使用 whoami 命令?

  1. 确定身份:在 Windows 中,可能有多个用户同时登录,使用 whoami 可以明确当前登录用户是谁。
  2. 脚本和自动化:在批处理脚本或 PowerShell 脚本中,有时需要确定当前执行脚本的用户身份,whoami 可以提供这样的信息,从而影响脚本的行为。

使用方法

在 Windows 的命令提示符(Command Prompt)或 PowerShell 中执行 whoami 命令,方法如下:

  • 在命令提示符下:

    plaintextCopy Code
    C:\> whoami
    username

    这将显示当前登录用户的用户名。

  • 在 PowerShell 下:

    plaintextCopy Code
    PS C:\> whoami
    username

    也将显示当前登录用户的用户名。

whoami 是一个用于在 Windows 操作系统中确定当前用户身份的命令行实用程序。

 

whoami 命令在 Windows 操作系统中的发展可以追溯到早期的 Windows 版本。在 Windows NT 系列操作系统中,whoami 命令最早出现在 Windows NT 4.0 和 Windows 2000 中,并且作为命令行实用程序的一部分提供。

随着 Windows 操作系统的演进和新版本的推出,whoami 命令保持了其基本功能不变,但可能在一些方面进行了改进,例如性能优化、支持新的操作系统功能、增强对于域环境的支持等。在 Windows XP、Windows Vista、Windows 7、Windows 8/8.1 和 Windows 10 等版本中,whoami 命令一直存在,并被广泛使用。

此外,在 Windows PowerShell 的引入过程中,whoami 也得到了相应的支持。在 PowerShell 中,whoami 可以直接在命令提示符中使用,与传统的命令行环境相同。

 whoami 命令作为 Windows 操作系统中的一个实用工具,在其不断的发展过程中保持了其基本功能和用法,并与操作系统一同演进。

 

whoami /?

WhoAmI has three ways of working:

Syntax 1:
    WHOAMI [/UPN | /FQDN | /LOGONID]

Syntax 2:
    WHOAMI { [/USER] [/GROUPS] [/CLAIMS] [/PRIV] } [/FO format] [/NH]

Syntax 3:
    WHOAMI /ALL [/FO format] [/NH]

Description:
    This utility can be used to get user name and group information
    along with the respective security identifiers (SID), claims,
    privileges, logon identifier (logon ID) for the current user
    on the local system. I.e. who is the current logged on user?
    If no switch is specified, tool displays the user name in NTLM
    format (domain\username).

Parameter List:
    /UPN                    Displays the user name in User Principal
                            Name (UPN) format.

    /FQDN                   Displays the user name in Fully Qualified
                            Distinguished Name (FQDN) format.

    /USER                   Displays information on the current user
                            along with the security identifier (SID).

    /GROUPS                 Displays group membership for current user,
                            type of account, security identifiers (SID)
                            and attributes.

    /CLAIMS                 Displays claims for current user,
                            including claim name, flags, type and values.

    /PRIV                   Displays security privileges of the current
                            user.

    /LOGONID                Displays the logon ID of the current user.

    /ALL                    Displays the current user name, groups
                            belonged to along with the security
                            identifiers (SID), claims and privileges for
                            the current user access token.

    /FO       format        Specifies the output format to be displayed.
                            Valid values are TABLE, LIST, CSV.
                            Column headings are not displayed with CSV
                            format. Default format is TABLE.

    /NH                     Specifies that the column header should not
                            be displayed in the output. This is
                            valid only for TABLE and CSV formats.

    /?                      Displays this help message.

Examples:
    WHOAMI
    WHOAMI /UPN
    WHOAMI /FQDN
    WHOAMI /LOGONID
    WHOAMI /USER
    WHOAMI /USER /FO LIST
    WHOAMI /USER /FO CSV
    WHOAMI /GROUPS
    WHOAMI /GROUPS /FO CSV /NH
    WHOAMI /CLAIMS
    WHOAMI /CLAIMS /FO LIST
    WHOAMI /PRIV
    WHOAMI /PRIV /FO TABLE
    WHOAMI /USER /GROUPS
    WHOAMI /USER /GROUPS /CLAIMS /PRIV
    WHOAMI /ALL
    WHOAMI /ALL /FO LIST
    WHOAMI /ALL /FO CSV /NH
    WHOAMI /?

 

WhoAmI 有三种使用方法:

语法 1:
    WHOAMI [/UPN | /FQDN | /LOGONID]

语法 2:
    WHOAMI { [/USER] [/GROUPS] [/CLAIMS] [/PRIV] } [/FO format] [/NH]

语法 3:
    WHOAMI /ALL [/FO format] [/NH]

描述:
    这个工具可以用来获取本地系统上当前用户(访问令牌)的用户名和组信息,
    以及相应的安全标识符(SID)、声明、
    本地系统上当前用户的权限、登录标识符(登录 ID)
    。例如,谁是当前已登录的用户?
    格式(域\用户名)。

参数列表:
    /UPN                    用用户主体 (User Principal) 格式显示用户名
                            名称 (UPN)格式。

    /FQDN                   用完全合格的 (Fully Qualified) 格式显示用户名
                            可分辨名称(FQDN) 格式。

    /USER                   显示当前用户的信息以及安全标识符 (SID)。
用户信息
----------------

用户名                        SID
============================= ===========================================
    /GROUPS                 显示当前用户的组成员信息、帐户类型和安全
                            标识符 (SID) 和属性。
组信息
-----------------

组名                                 类型   SID          属性
    /CLAIMS                 显示当前用户的声明,
                            包括声明名称、标志、类型和值。

    /PRIV                   显示当前用户的安全特权
C:\Users\Administrator>whoami /priv

特权信息
----------------------

特权名                                    描述                               状态
                            。

    /LOGONID               显示当前用户的登录 ID。

    /ALL                    显示当前用户名、所属的组
                            以及安全等级
                            当前用户访问令牌的标识符(SID)、
                            声明和权限。

    /FO       format        指定要显示的输出格式。
                            有效值为 TABLE、LIST、CSV。
                            列标题未使用 CSV
                            格式显示。默认格式为 TABLE。

    /NH                     指定不应在输出中显示
                            列标题。此参数仅对
                            TABLE 和 CSV 格式有效。

    /?                     显示此帮助消息。

Examples:
    WHOAMI
    WHOAMI /UPN
    WHOAMI /FQDN
    WHOAMI /LOGONID
    WHOAMI /USER
    WHOAMI /USER /FO LIST
    WHOAMI /USER /FO CSV
    WHOAMI /GROUPS
    WHOAMI /GROUPS /FO CSV /NH
    WHOAMI /CLAIMS
    WHOAMI /CLAIMS /FO LIST
    WHOAMI /PRIV
    WHOAMI /PRIV /FO TABLE
    WHOAMI /USER /GROUPS
    WHOAMI /USER /GROUPS /CLAIMS /PRIV
    WHOAMI /ALL
    WHOAMI /ALL /FO LIST
    WHOAMI /ALL /FO CSV /NH
    WHOAMI /?

 

WhoAmI 有三种工作方式:

语法 1: WHOAMI [/UPN | /FQDN | /LOGONID]

语法 2: WHOAMI { [/USER] [/GROUPS] [/CLAIMS] [/PRIV] } [/FO format] [/NH]

语法 3: WHOAMI /ALL [/FO format] [/NH]

描述: 这个实用程序可以用来获取本地系统上当前用户的用户名和组信息 以及相应的安全标识符(SID)、声明、权限、登录标识符(登录 ID)。 也就是说,当前登录的用户是谁? 如果没有指定开关,工具将显示 NTLM 格式(domain\username)的用户名。

参数列表: 

/UPN 显示用户名以用户主体名称(UPN)格式。

/FQDN                   显示用户名以完全合格区分名称(FQDN)格式。

/USER                   显示有关当前用户的信息以及安全标识符(SID)。

/GROUPS                 显示当前用户的组成员资格、账户类型、安全标识符(SID)和属性。

/CLAIMS                 显示当前用户的声明,包括声明名称、标志、类型和值。

/PRIV                   显示当前用户的安全权限。

/LOGONID                显示当前用户的登录 ID。

/ALL                    显示当前用户名、所属组以及当前用户访问令牌的安全标识符(SID)、声明和权限。

/FO       format        指定要显示的输出格式。有效值为 TABLE、LIST、CSV。
                        CSV 格式不显示列标题。默认格式为 TABLE。

/NH                     指定输出中不应显示列标题。这只对 TABLE 和 CSV 格式有效。

/?                      显示这个帮助信息。

示例: 

WHOAMI 

WHOAMI /UPN 

whoami /upn
错误: 无法获得用户主体名称(UPN),原因是登录的用户不是
      域用户。

WHOAMI /FQDN 

WHOAMI /FQDN
错误: 无法获得完全合格的可分辨名称(FQDN),原因是登录的
      用户不是域用户。

WHOAMI /LOGONID 

显示当前SID

WHOAMI /USER 

WHOAMI /USER

用户信息
----------------

用户名                        SID

WHOAMI /USER /FO LIST 

WHOAMI /USER /FO LIST

用户信息
----------------

WHOAMI /USER /FO CSV 

WHOAMI /GROUPS 

WHOAMI /GROUPS

组信息
-----------------

组名                                 类型   SID          属性

WHOAMI /GROUPS /FO CSV /NH 

WHOAMI /CLAIMS 

WHOAMI /CLAIMS /FO LIST

 WHOAMI /PRIV 

WHOAMI /PRIV /FO TABLE 

WHOAMI /USER /GROUPS 

WHOAMI /USER /GROUPS /CLAIMS /PRIV 

WHOAMI /ALL 

WHOAMI /ALL /FO LIST 

WHOAMI /ALL /FO CSV /NH 

WHOAMI /?

WHOAMI /PRIV 

权限名称                                                                      描述                                                                     状态

 ========================================= ========================================== 

SeIncreaseQuotaPrivilege                          调整进程的内存配额                                                               已禁用 

SeSecurityPrivilege                                     管理审核和安全日志                                                                已禁用 

SeTakeOwnershipPrivilege                         取得文件或其他对象的拥有权                                                 已禁用 

SeLoadDriverPrivilege                                 加载和卸载设备驱动程序                                                       已禁用 

SeSystemProfilePrivilege                              分析系统性能                                                                      已禁用 

SeSystemtimePrivilege                                更改系统时间                                                                       已禁用 

SeProfileSingleProcessPrivilege                  分析单个进程                                                                        已禁用 

SeIncreaseBasePriorityPrivilege                  提高调度优先级                                                                    已禁用 

SeCreatePagefilePrivilege                           创建页面文件                                                                       已禁用 

SeBackupPrivilege                                      备份文件和目录                                                                    已禁用 

SeRestorePrivilege                                     恢复文件和目录                                                                    已禁用 

SeShutdownPrivilege                                关闭系统                                                                               已禁用 

SeDebugPrivilege                                     调试程序                                                                                已禁用 

SeSystemEnvironmentPrivilege                修改固件环境值                                                                     已禁用 

SeChangeNotifyPrivilege                          绕过遍历检查                                                                        已启用 

SeRemoteShutdownPrivilege                   从远程系统强制关机                                                               已禁用 

SeUndockPrivilege                                   从对接站移除计算机                                                               已禁用 

SeManageVolumePrivilege                      执行卷维护任务                                                                      已禁用 

SeImpersonatePrivilege                           认证后模拟客户端                                                                  已启用 

SeCreateGlobalPrivilege                           创建全局对象                                                                        已启用 

SeIncreaseWorkingSetPrivilege               增加进程工作集                                                                     已禁用 

SeTimeZonePrivilege                               更改时区                                                                                已禁用 

SeCreateSymbolicLinkPrivilege               创建符号链接                                                                         已禁用 

SeDelegateSessionUserImpersonatePrivilege 获取同一会话中另一个用户的模拟令牌                           已禁用

 

 

Windows whoami 命令的初级应用大纲:

  1. 命令格式

    plaintextCopy Code
    whoami [/upn] [/user] [/groups]
  2. 命令选项

    • /upn:显示用户的 UPN(User Principal Name)。
    • /user:显示用户的登录名和用户 SID(Security Identifier)。
    • /groups:显示用户所属的安全组。
  3. 命令用法

    • 打开命令提示符或 PowerShell 终端。
    • 输入 whoami 命令,根据需要添加选项。
    • 按下 Enter 键执行命令。
  4. 示例

    • whoami:显示当前用户的登录名。
    • whoami /upn:显示当前用户的 UPN。
    • whoami /user:显示当前用户的登录名和用户 SID。
    • whoami /groups:显示当前用户所属的安全组。
  5. 应用场景

    • 确定当前登录用户的身份。
    • 在脚本中获取当前用户的信息,以便根据需要执行不同的操作。
    • 在系统管理和审计跟踪中记录用户身份信息。
    • 在安全策略和访问控制中根据用户身份设置权限和访问控制规则。

这些是使用 Windows whoami 命令的基本大纲,能够帮助用户初步了解如何使用该命令来获取当前用户的身份信息。

Windows whoami 命令中级应用的大纲:

  1. 命令选项的进一步理解

    • /user 选项:显示用户的登录名和用户 SID,可用于识别用户在系统中的唯一标识。
    • /groups 选项:显示用户所属的安全组,可用于了解用户的权限范围和访问控制情况。
    • /upn 选项:显示用户的 UPN(User Principal Name),可用于在跨域环境中唯一标识用户。
  2. 结合其他命令进行深入分析

    • 结合 net user 命令:通过查看用户的属性信息,进一步了解用户账户的详细信息。
    • 结合 net group 命令:通过查看组的成员信息,进一步了解用户所属的安全组情况。
  3. 使用输出重定向和管道

    • 将 whoami 命令的输出重定向到文本文件,以便后续分析或存档。
    • 将 whoami 命令的输出通过管道传递给其他命令,进行进一步的处理和分析。
  4. 结合脚本编写

    • 编写批处理脚本或 PowerShell 脚本,自动化执行 whoami 命令,并根据输出结果执行相应的操作。
    • 结合其他系统管理任务,如用户管理、权限设置等,编写更复杂的脚本。
  5. 安全审计和监控

    • 将 whoami 命令结合系统日志和安全审计工具,进行用户行为监控和安全审计。
    • 根据 whoami 命令的输出信息,及时发现和处理异常用户行为或权限变更情况。
  6. 应用场景的深入探讨

    • 在企业网络环境中,结合 whoami 命令进行用户身份验证和权限管理。
    • 在安全运维和合规审计中,利用 whoami 命令进行用户身份溯源和访问控制规范检查。

通过深入理解 whoami 命令的选项和功能,并结合其他命令、脚本编写和安全审计等实际场景,可以更有效地利用该命令进行系统管理和安全监控。

Windows whoami 命令高级应用的大纲:

  1. 安全审计与监控

    • 事件日志分析:将 whoami 命令输出与系统事件日志结合,实现对用户身份认证、权限控制变更等安全事件的实时监控与审计。
    • 异常行为检测:利用 whoami 命令输出的用户信息,结合异常行为分析算法,及时发现并响应可能的安全威胁,如异常用户登录、权限提升等。
  2. 身份验证与授权

    • 多因素身份验证:结合 whoami 命令输出的用户信息,实现多因素身份验证策略,提升系统的安全性。
    • 动态访问控制:根据 whoami 命令输出的用户信息和所属安全组,动态调整用户的访问权限,以应对不同场景下的安全需求。
  3. 自动化运维与响应

    • 自动化任务调度:结合脚本编写和任务调度工具,实现定时执行 whoami 命令并对输出结果进行自动化处理,提高系统管理效率。
    • 事件响应与恢复:利用 whoami 命令实时获取用户身份信息,结合自动化响应机制,快速应对安全事件,并进行系统恢复与修复。
  4. 云环境集成与安全管控

    • 云身份管理:在云环境中结合 whoami 命令,实现对云平台用户身份的管理与监控,确保云资源的安全使用。
    • 云安全合规:利用 whoami 命令输出的用户信息,结合云安全合规框架,对云平台上的安全风险进行评估与管控。
  5. 持续安全改进

    • 安全培训与意识提升:利用 whoami 命令输出的用户信息,开展针对性的安全培训与意识提升活动,增强用户对安全管理的重视和参与度。
    • 安全技术演练:通过模拟安全事件场景,利用 whoami 命令进行实时响应演练,提升团队应对安全事件的能力与效率。

通过深入理解 whoami 命令的高级应用场景,结合安全审计与监控、身份验证与授权、自动化运维与响应、云环境集成与安全管控以及持续安全改进等方面,可以全面提升系统的安全性与管理效率。

Windows whoami 命令专家级应用的大纲:

  1. 高级选项和参数解析

    • 深入探讨 /all 参数:展示用户的完整信息,包括用户组、特权、访问令牌等详细内容。
    • 分析 /priv 参数:显示当前用户的权限,包括特权和用户权限,对系统安全性评估和调整权限配置非常有用。
  2. 访问令牌分析与定制

    • 解读访问令牌:深入了解 whoami 命令输出的访问令牌,理解其中的含义和结构,以及如何对其进行定制和优化。
    • 定制访问令牌:利用 whoami 命令的输出信息,结合 Windows 安全机制,定制用户的访问令牌,实现精细化的权限控制。
  3. 安全漏洞挖掘与修复

    • 利用 whoami 命令输出信息,发现系统中可能存在的安全漏洞和权限配置问题,如特权提升漏洞等。
    • 结合漏洞修复工具和补丁管理策略,及时修复发现的安全漏洞,提高系统的安全性和稳定性。
  4. 域环境下的应用与整合

    • 在域环境中使用 whoami 命令进行域用户身份验证和权限管理,实现域控制器上的用户访问控制和安全审计。
    • 结合 Active Directory 相关工具和技术,对域用户的身份信息和权限进行全面管理和监控。
  5. 脚本编写与自动化

    • 利用 whoami 命令结合 PowerShell 或 VBScript 等脚本语言,编写自动化任务脚本,实现系统权限管理和安全监控的自动化。
    • 结合任务计划和事件触发器,定时执行 whoami 命令及相关脚本,提高系统管理效率和安全防护能力。
  6. 性能优化与最佳实践

    • 分析 whoami 命令的性能影响因素,优化命令执行效率,减少系统资源消耗和响应时间。
    • 遵循 whoami 命令的最佳实践,合理配置用户权限和访问控制策略,提升系统安全性和性能表现。

通过深入研究 whoami 命令的专家级应用,包括高级选项和参数解析、访问令牌分析与定制、安全漏洞挖掘与修复、域环境下的应用与整合、脚本编写与自动化、性能优化与最佳实践等方面,可以全面提升系统安全性和管理效率,确保系统在复杂环境下的稳定运行和安全防护。

Windows whoami 命令顶级应用的大纲:

  1. 基础概述与语法

    • 介绍 whoami 命令的基本作用和语法结构。
    • 解释命令的常见参数和选项,例如 /user/groups/priv 等。
  2. 用户信息查询

    • 深入了解如何使用 whoami 命令来查询当前登录用户的用户名、用户组、SID 等信息。
    • 探讨命令输出中各个字段的含义和用途。
  3. 权限与特权查询

    • 分析 whoami 命令输出中与权限和特权相关的信息。
    • 讨论如何利用命令输出来确认当前用户的权限级别和特权配置。
  4. 访问令牌分析

    • 深入理解 whoami 命令输出的访问令牌结构和含义。
    • 探讨访问令牌对于用户权限管理和安全控制的重要性。
  5. 批量查询与脚本应用

    • 讨论如何将 whoami 命令嵌入到脚本中,批量查询多台计算机或多个用户的信息。
    • 分享脚本编写技巧和最佳实践。
  6. 安全审计与监控

    • 探讨如何利用 whoami 命令进行安全审计和监控,检测异常权限配置和特权提升行为。
    • 分析如何结合其他安全工具和技术,实现对系统权限的全面监控和管理。
  7. 域环境下的应用

    • 讨论在域环境中如何使用 whoami 命令进行域用户身份验证和权限管理。
    • 分析域用户的特殊权限配置和访问控制策略。
  8. 性能优化与最佳实践

    • 分享使用 whoami 命令时的性能优化技巧和最佳实践,减少资源消耗和提高响应速度。
    • 讨论如何合理配置用户权限和访问控制策略,确保系统安全和性能。

通过深入学习 whoami 命令的顶级应用,包括用户信息查询、权限与特权查询、访问令牌分析、批量查询与脚本应用、安全审计与监控、域环境下的应用、性能优化与最佳实践等方面,可以全面掌握该命令的用法和应用场景,提高系统管理和安全审计的效率和准确性。

 

posted @ 2023-06-27 01:32  suv789  阅读(273)  评论(0编辑  收藏  举报