runas /netonly
我可以用和启动一个进程,runas /savecred
但不能同时使用这两个标志。
有没有办法可以远程以不同的用户身份运行进程而不必每次都输入密码?
答案1
在另一个答案 Jason 正确指出那runas /netonly
支持保存凭据,而 Microsoft故意制造困难runas
与硬编码密码一起使用(来自批处理脚本)。
这建议使用 Windows 凭据管理器Stefano 在他们的评论中指出,当你想总是myserver.mycompany.com:XXX
使用指定的凭据连接到给定的服务(即)。
对于命令行解决方案,其行为类似于 runas.exe,但无需输入密码,我发现RunAs powershell 模块(似乎实现了这个建议) 很有用:
通过在提升的 PowerShell 提示符中运行以下命令从 PowerShell 库进行安装(需要 Powershell v5 或 Windows 10):
Install-Module RunAs
通过运行以下命令加密密码:
# change `domain\username` as needed: ConvertFrom-SecureString (Get-Credential 'domain\username').Password
这将提示您输入登录名和密码并打印一个长十六进制数,您必须复制该数。
现在你可以
runas /netonly
使用以下命令执行相同的操作:Import-Module RunAs # replace xxxx below with the encrypted password from step 2 (and `domain\username` too) # you might want to put this into your profile: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-7 $mycreds = New-Object Management.Automation.PSCredential('domain\username', (ConvertTo-SecureString 'xxxx')) runas -netonly $mycreds "c:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE"
PS 网络上的许多资源建议使用执行以其他用户身份运行。查找其内部工作原理,我不认为这是一个可行的替代方案runas /netonly
答案2
恐怕这是一个不受支持的选项,您可以提供 /netonly 或 /savecred,但不能同时提供两者:
runas [{/profile | /noprofile}][/env][{/netonly|/savecred}][/智能卡] [/showtrustlevels] [/trustlevel] /用户:“ ”
更多信息: https://technet.microsoft.com/en-us/library/cc771525.aspx