Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Computing > Cisco > automatic login using cisco vpn client

Reply
Thread Tools

automatic login using cisco vpn client

 
 
dmcguire56 dmcguire56 is offline
Junior Member
Join Date: Jul 2012
Posts: 1
 
      07-06-2012
I currently use cisco vpn client and want to automate the process of connecting and disconnecting inside a script. The line I use to start the cisco client is as follows:
"c:\Program Files\Cisco Systems\VPN Client\vpnclient" connect cliauth "myProfile" user "myName" pwd "myPassword"
When this is ran, I have to hit enter 3 times to get thru the username, password and domain prompts. Is there a way to have the script "hit enter" or is there a better way to automate the connection?
 
Reply With Quote
 
 
 
 
vsivak vsivak is offline
Junior Member
Join Date: Aug 2012
Posts: 1
 
      08-31-2012
Quote:
Originally Posted by dmcguire56 View Post
I currently use cisco vpn client and want to automate the process of connecting and disconnecting inside a script. The line I use to start the cisco client is as follows:
"c:\Program Files\Cisco Systems\VPN Client\vpnclient" connect cliauth "myProfile" user "myName" pwd "myPassword"
When this is ran, I have to hit enter 3 times to get thru the username, password and domain prompts. Is there a way to have the script "hit enter" or is there a better way to automate the connection?

Hello this is a powershell script "Cisco AnyConnect Auto Login" I have created to automatically connect and log me in or auto reconect with Cisco AnyConnect Secure Mobility Client version 3.0.5080.
It works quite nice on Windows 7 and Windows 8.
1. Create file for example c:\test\CiscoVPNAutoLogin.ps1
2. Paste the code below into that file. Do not forget to change CiscoVPNHost, Login and Password variables.
3. Run the script. You can run it for example using following command line: C:\Windows\System32\WindowsPowerShell\v1.0\powersh ell.exe "C:\test\CiscoVPNAutoLogin.ps1"

Script code is following:

Code:
#Source www.cze.cz
#This script is tested with "Cisco AnyConnect Secure Mobility Client version 3.0.5080"
#Please change following variables

#IP address or host name of cisco vpn
[string]$CiscoVPNHost = "192.168.0.50"
[string]$Login = "LOGIN"
[string]$Password = "PASSWORD"

#Please check if file exists on following paths
[string]$vpncliAbsolutePath = 'C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe'
[string]$vpnuiAbsolutePath  = 'C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe'

#****************************************************************************
#**** Please do not modify code below unless you know what you are doing ****
#****************************************************************************

Add-Type -AssemblyName System.Windows.Forms -ErrorAction Stop

#Set foreground window function
#This function is called in VPNConnect
Add-Type @'
  using System;
  using System.Runtime.InteropServices;
  public class Win {
     [DllImport("user32.dll")]
     [return: MarshalAs(UnmanagedType.Bool)]
     public static extern bool SetForegroundWindow(IntPtr hWnd);
  }
'@ -ErrorAction Stop

#quickly start VPN
#This function is called later in the code
Function VPNConnect()
{
    Start-Process -FilePath $vpncliAbsolutePath -ArgumentList "connect $CiscoVPNHost"
    $counter = 0; $h = 0;
    while($counter++ -lt 1000 -and $h -eq 0)
    {
        sleep -m 10
        $h = (Get-Process vpncli).MainWindowHandle
    }
    #if it takes more than 10 seconds then display message
    if($h -eq 0){echo "Could not start VPNUI it takes too long."}
    else{[void] [Win]::SetForegroundWindow($h)}
}

#Terminate all vpnui processes.
Get-Process | ForEach-Object {if($_.ProcessName.ToLower() -eq "vpnui")
{$Id = $_.Id; Stop-Process $Id; echo "Process vpnui with id: $Id was stopped"}}
#Terminate all vpncli processes.
Get-Process | ForEach-Object {if($_.ProcessName.ToLower() -eq "vpncli")
{$Id = $_.Id; Stop-Process $Id; echo "Process vpncli with id: $Id was stopped"}}


#Disconnect from VPN
echo "Trying to terminate remaining vpn connections"
start-Process -FilePath $vpncliAbsolutePath -ArgumentList 'disconnect' -wait
#Connect to VPN
echo "Connecting to VPN address '$CiscoVPNHost' as user '$Login'."
VPNConnect

#Write login and password
[System.Windows.Forms.SendKeys]::SendWait("$Login{Enter}")
[System.Windows.Forms.SendKeys]::SendWait("$Password{Enter}")

#Start vpnui
start-Process -FilePath $vpnuiAbsolutePath
#Wait for keydown
echo "Press any key to continue ..."
try{$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")}catch{}
 

Last edited by vsivak; 08-31-2012 at 11:21 PM..
Reply With Quote
 
 
 
 
virtualpal virtualpal is offline
Junior Member
Join Date: Oct 2012
Posts: 1
 
      10-04-2012
Thank you so much for the script. Unfortunately, when I try to run the script, it opens the Cisco AnyConnect GUI application and then I get a pop-up message "Connect not available. Another AnyConnect application is running or the functionality is not requested by this application."

Any suggestions on what could be causing this? I have tried to restart the PC to ensure that there is nothing running before executing the script. Any suggestions will be highly appreciated. Thank you.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
USB Keys and Cisco VPN Concentrator / Cisco VPN Client ? TechGuy Cisco 3 02-05-2009 01:05 PM
Cisco VPN client OK - Checkpoint VPN client not OK Ned Cisco 0 10-12-2007 01:02 PM
Automatic Updates For Cisco VPN Client Rafael Cisco 0 10-19-2004 01:19 PM
Cisco VPN Client vs MS VPN Client jarcar Cisco 0 02-12-2004 12:22 PM
Help with Cisco VPN client 4.0.1 (and 4.0.3) - The VPN client could not find the adapters GUID MP Cisco 2 12-30-2003 03:55 PM



Advertisments