Auto Login to Cisco VPN in Leopard; kicker.bundle

Discussion in 'macOS' started by DaedalusBTJ, Jan 13, 2008.

  1. DaedalusBTJ macrumors newbie

    Joined:
    Jan 13, 2008
    #1
    Hi,

    I am trying to create a script to automatically log in to my school's Cisco "Clean Access" VPN client as per this thread:

    http://forums.macrumors.com/showthread.php?t=162636

    However, I cannot seem to find /System/Library/SystemConfiguration/kicker.bundle . Kicker.bundle doesn't seem to exist anymore in Leopard (at least, not on my system)... any idea of where it went?

    My system: PowerBook G4 17" 1.67 GHz, Mac OS X v10.5.1

    Thanks!
     
  2. vsivak macrumors newbie

    Joined:
    Aug 31, 2012
    #2
    Hello you may try to rewrite following script which I have created to automatically connect and login to cisco VPN.
    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\powershell.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 verify that following files exist in specified folders
    [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 key down
    echo "Press any key to continue ..."
    try{$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")}catch{}
    
     

Share This Page