Trädvy Permalänk
Medlem
Registrerad
Nov 2012

VBS: mappa nätverksenheter

Hej!

Jag har ett VBS script som automatiserar inloggning genom Cisco AnyConnect. Jag skulle be om hjälp att lägga till en funktion att mappa till två nätverkssökvägar, i VBscriptet. Det ska inte vara Persistent.

Så här ser scriptet ut idag - de nedersta delarna har jag avaktiverat eftersom jag inte fick rätt på det hela.

Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run """%PROGRAMFILES(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe""" WScript.Sleep 3000 WshShell.AppActivate "Cisco AnyConnect Secure Mobility Client" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{ENTER}" WScript.Sleep 1500 WshShell.SendKeys "*******" WshShell.SendKeys "{ENTER}" ' http://ss64.com/vb/syntax-mapdrive.html ' Dim objNetwork, strRemoteShare ' Set objNetwork = WScript.CreateObject("WScript.Network") ' strRemoteShare = "\\ughome02.ug.kth.se\h\a\haider" ' objNetwork.MapNetworkDrive "K:", strRemoteShare, False ' strRemoteShare = "\\ugcommon01.ug.kth.se\KURSER\ARCH" ' objNetwork.MapNetworkDrive "L:", strRemoteShare2, False

Trädvy Permalänk
Medlem
Registrerad
Dec 2008

Kräver dina nätverksenheter att du loggar in eller är de publika?
Jag hade inga problem med ditt script

Trädvy Permalänk
Medlem
Registrerad
Nov 2012

Det funkar nu, precis som du upptäckt. Grejen är att den koden jag hade uppe funkade bra att mappa en enhet, dock inte den andra.
Koden jag hittade var lite mer invecklad än nöden krävde. Efter några snabba texter skrev jag om koden till följande

WScript.CreateObject("WScript.Network").MapNetworkDrive "K:", "\\ughome02.ug.kth.se\h\a\haiderag", False WScript.CreateObject("WScript.Network").MapNetworkDrive "L:", "\\ugcommon01.ug.kth.se\KURSER\ARCH", False

Trädvy Permalänk
Medlem
Registrerad
Nov 2012

Men: ännu en fråga!

Cisco klienten ansluter till VPN servern medan scriptet försöker mappa enheten. Finns det något sätt att skapa en loop som kollar om anslutningen är upprättad innan den mappar? Alternativt att den försöker X gånger inom loppet av Y tid?

Trädvy Permalänk
Medlem
Registrerad
Dec 2008

Aha, jag testade bara den med en enhet.

Vill minnas att man kan pausa ett vb-script. Hittade att Sytem.Threading.Thread.Sleep(1000) pausar den 1000ms

Så borde räcka att pausa den i 10sekunder

Edit:Du kan också titta på CLI till anyconnectklienten. Frågan är dock om det hjälper. Min tanke var att din VB-tråd skulle få vänta ut VPN-anslutningen innan den gick på mappningarna
http://www.cisco.com/c/en/us/td/docs/security/vpn_client/anyc...