小编Def*_*neR的帖子

Windows Batch - 获取当前登录用户的名称

在针对大型网络的一种小型缓解措施中,利用 cmd.exe 替换 Windows 修复中的 utilman.exe,然后更改用户密码,我正在编写一个基于 EventSentry 工具的小脚本,该脚本将检测 utilman.exe已更改,我可以为其附加一个操作。但此检测将在攻击者登录到本地计算机后进行。因此,我正在编写一个脚本来更改访问权限,并阻止删除和重命名 utilman.exe,并且我想为当前登录的用户添加密码更改,然后注销。

这是我到目前为止所拥有的:

 @ECHO off
 takeown /f c:\windows\system32\utilman.exe
 icacls c:\windows\system32\utilman.exe /deny *S-1-1-0:(DE,WD,AD,RX)
 net user [NeedToGetLogedUser] 123456
 shutdown -L
Run Code Online (Sandbox Code Playgroud)

我附加的操作将在另一个用户(而不是实际登录的用户)下执行此脚本。因此,我需要获取登录到计算机的实际当前用户,而不是该脚本将在其下运行的用户。

我在想:

C:\Users\MyUser>query user
USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
>MyUser              console             1  Active      none   7/9/2020 6:27 PM
Run Code Online (Sandbox Code Playgroud)

但我不知道如何解析结果,只是为了让“MyUser”单独(使用 findstr)与 net user 命令一起使用。

windows batch findstr

3
推荐指数
1
解决办法
9399
查看次数

标签 统计

batch ×1

findstr ×1

windows ×1