我需要知道如何从powershell执行perforce p4登录时传递密码。当执行p4登录时,会输入密码:字段,因此我无法自动执行登录步骤。我需要使用p4 login命令管道密码,以便可以自动执行此操作。请建议如何做到这一点。我确实试过“p4 -u user -P密码登录”,但没有用。
答案 0 :(得分:1)
正如您所说,将密码传递给login命令:
echo password|p4 -u user login
p4 login
无法从P4PASSWD
(或等效的-P
标志)读取明文密码,因为在您的环境或文件中使用明文密码是安全责任(任何能够阅读该文件的人现在都可以从任何地方登录),因此不鼓励。
说到这一点,出于类似的原因,不建议将密码放在脚本中以自动p4 login
。 :)建议的方法是要求用户在运行脚本之前登录(默认登录持续12小时,因此如果您正在运行一堆脚本,您仍然只需要每天登录一次) 。
如果脚本是完全自动化作业的一部分,您无法让人类用户每天输入密码,那么建议的策略是为自动化用户提供一张未过期的票证(绑定到该IP) )并在剧本中硬编码。
答案 1 :(得分:0)
在PowerShell中,您可以使用以下代码段:
p4 set P4USER=$user
$password | p4 login
注意:
p4 set P4PASSWD=...
不起作用。