18

我想用mstsc /admin静默方式登录服务器。我的批处理文件将代码读取为

mstsc /v:xxx.xxx.xxx.xxx /admin

但它要求我输入密码。谁能帮我跳过这一步?

我去了谷歌,找到了这个网站。但我对这些东西(脚本)很陌生,无法理解如何处理给定的代码。是vbscript文件吗?我可以用批处理文件做同样的事情吗?请详细说明,我请您用勺子喂食。这不是我的竞技场,但我仍然被迫在没有武器的情况下战斗。

我的基本需求是从远程桌面启动除我之外的所有用户以执行一些可维护的工作。谢谢。

4

6 回答 6

53

重新发布为答案:找到替代方案(在 Win8 中测试):

cmdkey /generic:"<server>" /user:"<user>" /pass:"<pass>"

运行它,如果你运行:

mstsc /v:<server>

您不应收到身份验证提示。

于 2014-12-05T03:35:29.873 回答
7

Milad 和 Sandy 发布的命令不适用于 mstsc。我不得不将 TERMSRV 添加到 /generic 开关。我在这里找到了这些信息:https ://gist.github.com/jdforsythe/48a022ee22c8ec912b7e

cmdkey /generic:TERMSRV/<server> /user:<username> /pass:<password>

然后我可以在mstsc /v:<server>不提示登录的情况下使用。

于 2017-12-22T19:16:04.903 回答
7

为了安全起见,您应该执行 3 个命令:

cmdkey /generic:"server-address" /user:"username" /pass:"password"
mstsc /v:server-address
cmdkey /delete:server-address

保存凭证的第一个命令

打开远程桌面的第二个命令

以及出于安全原因删除凭据的第三条命令

所有这些命令都可以保存在批处理文件(bat)中。(如果将这些命令保存在批处理文件中,则在关闭远程桌面之前不会执行第三个命令)

于 2020-09-29T04:41:32.550 回答
6

同样的问题,但@Angelo 的答案对我不起作用,因为我使用的是具有不同凭据的同一服务器。我使用下面的方法并在 Windows 10 上对其进行了测试。

cmdkey /add:server01 /user:<username> /pass:<password>

然后用来mstsc /v:server01连接服务器。

关键是使用名称而不是 IP 地址来避免凭据之间的冲突。如果您没有本地可访问的 DNS 服务器尝试c:\windows\system32\drivers\etc\hosts文件。

于 2017-10-07T06:50:13.507 回答
1

这成了一个热门问题,我收到了通知。对不起,我忘了回答之前我应该​​做的。我很久以前就解决了。

net use \\10.100.110.120\C$ MyPassword /user:domain\username /persistent:Yes

在批处理文件中运行它,你应该得到你正在寻找的东西。

于 2013-05-07T06:55:32.950 回答
0

将您的用户名、密码和服务器名称保存在 RDP 文件中,然后从您的脚本运行 RDP 文件

于 2013-01-23T14:23:05.557 回答