如何管道密码到perforce p4登录命令进行自动登录?

时间:2017-12-21 16:54:07

标签: window perforce

我需要知道如何从powershell执行perforce p4登录时传递密码。当执行p4登录时,会输入密码:字段,因此我无法自动执行登录步骤。我需要使用p4 login命令管道密码,以便可以自动执行此操作。请建议如何做到这一点。我确实试过“p4 -u user -P密码登录”,但没有用。

2 个答案:

答案 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=... 不起作用。