我正在尝试在 Powershell 中自动连接 Anydesk session 。
根据他们的CLI documentation ,您可以使用 echo 传递密码。
现在,我正在开始这样的流程,因为之后我需要流程 ID。
$app = Start-Process $config.anydesk_path -ArgumentList @($config.ip_addresses[$i], "--plain") -passthr
我尝试像这样将密码附加到参数列表
$app = Start-Process $config.anydesk_path -ArgumentList @($config.connect_pw, $config.ip_addresses[$i], "--plain", "--with-password") -passthru
但是好像没有输入密码。
有没有办法通过 Start-Process 发送密码?
谢谢。
最佳答案
可悲的是,Start-Process只能接受来自文件的输入(请参阅 -RedirectStandardInput
参数)。
您可以使用.NET Framework Process直接上课:
$AnyDesk = New-Object System.Diagnostics.Process
$AnyDesk.StartInfo.FileName = $config.anydesk_path
$AnyDesk.StartInfo.UseShellExecute = $false
# This allows writing to a standard input stream:
$AnyDesk.StartInfo.RedirectStandardInput = $true
$AnyDesk.StartInfo.Arguments = "$($config.ip_addresses[$i]) --plain --with-password"
$AnyDesk.Start()
# Write a password into standard input stream:
$AnyDesk.StandardInput.WriteLine($config.connect_pw)
# Grab a process ID:
$AnyDesk.Id
关于powershell - 有没有办法在 powershell 中通过 start-process 传递 echo 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70168825/