事实上,还有另外一个新东西,叫做runas命令,我们先看看下面的关于该命令的帮助信息:
有朋友会问这样一个问题:为什么runas不能在命令行上直接写上用户密码,而非要手动输入呢?这的确是一个很有意思的问题。让我们假设命令行上可以设置密码吧,那么这个功能一旦放开,开发人员,甚至普通用户就会将他们的用户密码写入到批处理文件或者登录脚本中,这就会造成一个潜在的安全问题。
换句话说,这个特性的缺失是故意设计的,就是为了避免用户滥用导致的安全问题。
如果你觉得这实在是有冒犯到你,而且,你还是希望可以在命令行上直接输入密码,而不担心安全问题的话:有辙!
你可以自行编写一个小程序并调用这个API: CreateProcessWithLogonW。这个API可以直接输入用户账号和密码,如下图所示:
但是需要注意,这里的密码是明文传递,所以我们还是不建议将密码以明文的方式来传递,这样就有潜在的被黑客嗅探的可能性。而一旦一台机器的登录密码被泄露,那么这个账号的控制权就暴露在攻击者面前,如果不凑巧这个用户还是一个管理员,则黑客完全由能力夺取整机的完整控制权。
第一条,绝对不能让关键密码以明文的方式出现在任何地方(记在脑袋里是个好方法)。第二条:请牢记第一条。