Eu uso algo ao longo destas linhas:
set FILE=%TEMP%\tmp
echo connect your.host.name> %FILE%
(echo 0)>> %FILE%
echo yourUserName>> %FILE%
echo yourPassWord>> %FILE%
"C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s < %FILE%
( Atualização: Por que os parênteses em torno de echo 0
? Isso deve lembrá-lo, ao fazer uma escolha diferente de 0
, que 1>
ou 2>
têm um significado especial, redirecionando stdout
ou stderr
, respectivamente - mas não ecoando 1
ou 2
. Portanto, ficamos no lado seguro com ( echo 0)
.)
Isto é um pouco mais conciso:
(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord& echo.) > %FILE%
more %FILE% | "C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s
No entanto, se você quiser conseguir a mesma coisa sem um arquivo temporário, isso não funciona para mim - eu estaria interessado, porque:
(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s
Atualização: Isso funciona, encontrado no link :
(echo connect your.host.name^& echo 0^& echo yourUserName^&echo yourPassWord^&rem.) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s
Todas essas variantes dependem, é claro, da configuração do seu servidor (especialmente o grupo de VPN que você escolheu). Para descobrir o que você precisa inserir, chame vpncli.exe
sem nenhum parâmetro, comece com connect your.host.name
e anote o que é solicitado.
Atualização: Isso tem a vantagem de oferecer total liberdade em relação ao servidor, nome de usuário e senha, e não depende de nenhum valor de hibernação (o que é sempre difícil se o seu sistema estiver ocupado com outra coisa).