Windows自动多用户登录命令行

7
我正在尝试在脚本上实现Windows管理员帐户自动登录多个本地用户。这个想法是在每个用户会话中运行一组应用程序(测试)。目前,我可以通过远程登录(RDC)到每个单独的用户帐户来实现。如果只有几个这样的帐户,那么这种方法就足够了,但现在我有超过30台机器,平均每台机器有6个用户帐户,所以一个一个地进行远程桌面连接是非常耗时的。相反,我希望能够作为管理员登录,并使用某种脚本自动登录组内的本地用户,或仅仅是一组用户名,以便我可以使用pstools启动应用程序(这些应用程序需要桌面交互,因此需要会话)。我发现Windows用户帐户只能自动登录一个用户。请问是否有人知道通过命令行登录多个帐户的方式,或者有其他自动化的解决方案?

有些不太清楚:当你说“应用程序需要桌面交互”时,你是指必须手动与每个应用程序进行交互吗? - Poorkenny
应用程序本身与用户会话进行交互(截屏,保存特定于用户的文件等)。我所说的桌面交互是指应用程序需要一个用户会话来运行(而不是/runas上下文)。 - Farlan
我们在谈论哪个版本的Windows?XP?7?8?无论如何,我知道执行此任务的唯一方法是使用Windows自动登录。我不知道有任何编程方式可以连续登录/注销多个用户。如果其他人知道,我也很感兴趣 :) - Poorkenny
具体而言是Server 2008,但如果有任何Win7 / 8的解决方案,我很乐意知道。 - Farlan
4个回答

1
使用Invoke-Command命令针对远程计算机执行命令,该计算机还必须拥有Powershell,并启用WinRM。 Invoke-Command还可以运行非Powershell命令。
# users stored in csv with "username, password" format
foreach ($user in $userlist) {
    Invoke-Command "runas /profile /credentials $creds /user:$user.username /password:$user.password *executable*
}

使用-asJob参数将它们作为单独的作业运行,或者按顺序运行以简化操作。如果需要运行多个命令,则可以考虑远程PSSessions。研究将凭据加密存储在文件中以供重复使用。

0

实际上这是不可能的,在命令行中无法登录多个帐户。RDC 是唯一可行的方法。也许您可以使用其他自动化软件(如 auto it、WSH 脚本或一些宏记录器)自动化 RDC 以供多个用户使用,这可能有助于减轻您工作中的一些工作量。


谢谢。有没有关于如何或在哪里启动这些自动化脚本的想法?我可以通过一个自动登录用户。那个用户配置文件中的一些启动脚本可以做到吗?您有关于您列出的技术的教程链接吗?请再提供一些深入的见解... - inquisitive

0

使用runas打开新的命令提示符。然后开始您的测试,它们将使用您的新凭据。


1
runas-ed 进程将使用不同的凭据启动,但不会获取该用户的桌面。该用户的启动脚本也不会执行,启动进程也不会运行。所需的是在任务管理器的 Users 选项卡中列出该用户。就好像该用户从远程桌面连接登录并关闭了 RD 窗口而没有注销一样。 - inquisitive
他的问题没有提到这些要求,您可以使用runas加载用户配置文件并运行脚本。为什么需要启动脚本? - Atilla Ozgur
1
...应用程序需要用户会话才能运行...设置会话包括设置环境,其中又包括启动脚本。一些测试可能需要快照,这种情况下需要专用控制台。RUNAS 提供共享控制台,服务不提供控制台。:( - inquisitive

0

可以通过第三方工具http://www.logonexpert.com来完成,使用其命令行工具,如下所示:

le.exe /logon user1 pass1 domain1

le.exe /logon user2 pass2 domain1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接