dEV*_*ANT 5 windows scripting cmd batch-file scheduler
示例:我以TestUser用户身份登录.从这个用户,我将以管理员名为AdminUser的身份运行命令行.
是否可以从此命令行确定当前登录的TestUser的名称?
我已经有计划任务,它始终作为AdminUser运行,但在其操作(批处理文件)中,我需要命名当前登录的用户.
有任何想法吗?
据我所知,这是不可能的.根据您对用户环境的了解程度,以下可能是一种解决方法:
命令
qwinsta
Run Code Online (Sandbox Code Playgroud)
将为您提供计算机的会话列表.在这些会话中,一个将是活动的,所以如果这个程序在交互式会话中使用,那么这基本上将包含你所描述的"登录用户"(它实际上要复杂得多,可能会有很多用户登录但只有一个可以激活,我只是希望你对程序的使用场景有足够的了解,以便利用它.您可以解析输出并使用该用户名.
当然这是一个肮脏的黑客,它假设在你的任务运行期间,用户没有机会改变.
此外,虽然我选择了qwinsta.exe,因为它是一个非常基本的方法,不需要API调用或我仍然不确定CMD是否有足够的解析功能来为您获取必要的信息.