In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird beschrieben, wie Cisco Secure Client-Scripting mit Secure Firewall ASA und FTD konfiguriert wird.
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Es werden zwei verschiedene Konfigurationsbeispiele erläutert:
Bei FTD, die von FMC verwaltet wird, wird dies vom FMC immer noch nicht offiziell unterstützt. Aus diesem Grund implementieren wir eine Problemumgehung für die Cisco Bug-ID für die Erweiterungsanforderung. CSCvt58044 .
Zusätzliche Optionen aus dem XML-Profil:
Weisen Sie das AnyConnect-Profil der richtigen Gruppenrichtlinie zu:
Da Cisco keine Beispielskripte oder vom Kunden erstellte Skripte unterstützt, gibt es einige Beispiele, die Sie je nach Ihren Anforderungen testen können:
Achtung: Stellen Sie sicher, dass Sie die von cmd.exe unterstützten 32-Bit-Befehle verwenden.
1. Skript zum Zuordnen eines Laufwerks:
OnConnect.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample AnyConnect OnConnect script."
Dim strDriveLetter, strRemotePath
strDriveLetter = "REPLACE_WITH_DRIVE_LETTER:"
strRemotePath = "\\REPLACE_WITH_SERVER_NAME\REPLACE_WITH_SHARE"
Set objNetwork = CreateObject("WScript.Network")
' remove old mapping (if any)
objNetwork.RemoveNetworkDrive strDriveLetter
' add new mapping
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
If Err.Number <> 0 Then
objShell.LogEvent 0, "Failed to map network drive." & vbCrLf & Err.Number & ": " & Err.Description
End If
WScript.Quit
OnDisconnect.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample AnyConnect OnDisconnect script."
Dim strDriveLetter
strDriveLetter = "REPLACE_WITH_DRIVE_LETTER:"
Set objNetwork = CreateObject("WScript.Network")
' remove old mapping (if any)
objNetwork.RemoveNetworkDrive strDriveLetter
WScript.Quit
2. Skript zum Aktualisieren einer Windows-Gruppenrichtlinie:
OnConnect.vbs oder OnDisconnect.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample AnyConnect OnConnect script."
' refreshes local and Active Directory-based Group Policy settings, including security settings
returnCode = objShell.Run("gpupdate.exe /force", 0, True)
If returnCode <> 0 Then
objShell.LogEvent 0, "Failed to update Group Policy settings." & vbCrLf & Err.Number & ": " & Err.Description
End If
objShell.LogEvent 0, "User's Group Policy settings have been updated."
WScript.Quit
3. Starten mehrerer Skripte:
Skript1.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample script 1."
WScript.Quit
Skript2.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample script 2."
WScript.Quit 5
Skript3.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample script 3."
WScript.Quit
OnConnect.vbs oder OnDisconnect.vbs
ON ERROR RESUME NEXT
Err.Clear
Set objShell = CreateObject("WScript.Shell")
objShell.LogEvent 0, "Sample AnyConnect OnConnect script."
' launch each script after the previous has completed
returnCode = objShell.Run("wscript.exe Script1.vbs", 0, True)
objShell.LogEvent 0, "Script1.vbs returned = " & returnCode
returnCode = objShell.Run("wscript.exe Script2.vbs", 0, True)
objShell.LogEvent 0, "Script2.vbs returned = " & returnCode
returnCode = objShell.Run("wscript.exe Script3.vbs", 0, True)
objShell.LogEvent 0, "Script3.vbs returned = " & returnCode
WScript.Quit
Hinweis: Diese Beispiele werden ohne jegliche Gewährleistung oder Unterstützung geliefert. Sie wurde entwickelt, um Ihnen bei der Verwendung der Cisco AnyConnect-Skriptfunktion zu helfen. Es wird davon ausgegangen, dass Sie auf dieses Beispiel nur als Referenz verweisen.
1. Starten mehrerer Skripte:
Skript1.sh
#!/bin/sh
logger "Sample script 1."
Skript2.sh
#!/bin/sh
logger "Sample script 2."
Skript3.sh
#!/bin/sh
logger "Sample script 3."
OnConnect.sh oder OnDisconnect.sh
#!/bin/sh
logger "Sample AnyConnect OnConnect script."
# launch each script after the previous has completed
./Script1.sh
logger "Script1.sh returned = $?"
./Script2.sh
logger "Script2.sh returned = $?"
./Script3.sh
logger "Script3.sh returned = $?"
Hinweis: Diese Beispiele werden ohne jegliche Gewährleistung oder Unterstützung geliefert. Sie wurde entwickelt, um Ihnen bei der Verwendung der Cisco AnyConnect-Skriptfunktion zu helfen. Es wird davon ausgegangen, dass Sie auf dieses Beispiel nur als Referenz verweisen.
1. Starten von AppleScript:
Skript1.scpt
#!/bin/sh
say "This is a Sample AppleScript"
OnConnect.sh
#!/bin/sh
logger "Sample AnyConnect OnConnect script."
# launch the AppleScript script
/usr/bin/osascript Script1.scpt
2. Starten mehrerer Skripte
Skript1.sh
#!/bin/sh
logger "Sample script 1."
Skript2.sh
#!/bin/sh
logger "Sample script 2."
Skript3.sh
#!/bin/sh
logger "Sample script 3."
OnConnect.sh
#!/bin/sh
logger "Sample AnyConnect OnConnect script."
# launch each script after the previous has completed
./Script1.sh
logger "Script1.sh returned = $?"
./Script2.sh
logger "Script2.sh returned = $?"
./Script3.sh
logger "Script3.sh returned = $?"
Hinweis: Diese Beispiele werden ohne jegliche Gewährleistung oder Unterstützung geliefert. Sie wurde entwickelt, um Ihnen bei der Verwendung der Cisco AnyConnect-Skriptfunktion zu helfen. Es wird davon ausgegangen, dass Sie auf dieses Beispiel nur als Referenz verweisen.
Die aktuelle Einrichtung von Secure Client-Scripting wird vom FMC nicht unterstützt. Es liegt eine Erweiterungsanfrage vor. Cisco Bug-ID: CSCvt58044. um sie zu unterstützen. Basierend darauf haben wir einen Workaround, um die Konfiguration und Bereitstellung der Scripts zu ermöglichen.
Hinweis: Sie finden den VPN Profile Editor hier: Secure Client 5 Profile Editor
Öffnen Sie die Skripteigenschaften, indem Sie mit der rechten Maustaste darauf klicken. Überprüfen Sie auf der Registerkarte Allgemein die Größe, und notieren Sie sie.
SSH zur FTD-Appliance und rufen Sie die Diagnose-CLI für den Systemsupport auf.
Geben Sie folgenden Befehl ein:
Dem Dateinamen muss das Präfix scripts_OnConnect_ vorangestellt werden
import webvpn anyConnect-customization type binary platform win name scripts_OnConnect_login.vbs stdin 943
Hinweis: Die Größe des Skripts aus Schritt 2 entspricht der Größe des Skripts in Byte.
Nach der Eingabe des Importbefehls müssen Sie das eigentliche Skript in die CLI einfügen. Obwohl die Ausgabe hier nicht angezeigt wird, müssen Sie nur einige Zeit eingeben, bis Sie wieder zur CLI zurückkehren.
Sie können überprüfen, ob das Skript ordnungsgemäß importiert wurde, indem Sie den folgenden Befehl ausführen:
more <scriptname>.vbs
Gehen Sie zu Devices > Remote Access > wählen Sie das Verbindungsprofil aus und klicken Sie auf Edit > Advanced > Group Policies > bearbeiten Sie die Gruppenrichtlinie > Secure Client > Profile > Sie können das Profil auswählen, wenn es bereits in das FMC hochgeladen wurde, oder klicken Sie auf die Plus-Option, und laden Sie das Profil von dort hoch.
Nachdem Sie eine Verbindung über das VPN hergestellt haben, können Sie bestätigen, dass das Skript erfolgreich bereitgestellt wurde. Überprüfen Sie dazu den Pfad je nach Betriebssystem:
Microsoft Windows |
%ALLUSERSPROFILE%\Cisco\Cisco Secure Client\VPN\Script |
Linux (Weisen Sie unter Linux der Datei Ausführungsberechtigungen für Benutzer, Gruppe und Andere zu.) |
/opt/cisco/secureclient/vpn/script |
MacOS |
/opt/cisco/secureclient/vpn/script |
1. Stellen Sie sicher, dass das Skript einen OnConnect-
oder OnDisconnect-
Präfixnamen hat. Wenn Sie ASDM Version 6.3 oder höher verwenden, fügt die Secure Firewall ASA das Präfix scripts_ und das Präfix OnConnect oder OnDisconnect zu Ihrem Dateinamen hinzu, um die Datei als Skript zu identifizieren. Wenn der Client eine Verbindung herstellt, lädt die Sicherheits-Appliance das Skript in das richtige Zielverzeichnis auf dem Remotecomputer, entfernt das Präfix scripts_ und belässt das OnConnect- oder OnDisconnect-Präfix. Wenn Sie beispielsweise das Skript myscript.bat importieren, wird das Skript auf der Sicherheits-Appliance als scripts_OnConnect_myscript.bat angezeigt. Auf dem Remotecomputer wird das Skript als OnConnect_myscript.bat angezeigt.
2. Versuchen Sie, das Skript über die Befehlszeile auszuführen. Der Client kann das Skript nicht ausführen, wenn er es nicht über die Befehlszeile ausführen kann. Wenn das Skript nicht auf der Befehlszeile ausgeführt werden kann, stellen Sie sicher, dass die Anwendung installiert ist, die das Skript ausführt, und versuchen Sie, das Skript auf diesem Betriebssystem neu zu schreiben.
3. Vergewissern Sie sich, dass im Verzeichnis "scripts" auf dem VPN-Endpunkt nur ein OnConnect-Skript und nur ein OnDisconnect-Skript vorhanden ist. Wenn der Client ein OnConnect-Skript von der sicheren Firewall-ASA herunterlädt und dann ein zweites OnConnect-Skript mit einem anderen Dateinamensuffix für eine andere sichere Firewall-ASA herunterlädt, kann der Client das Skript, das Sie ausführen wollten, nicht ausführen. Wenn der Skriptpfad mehr als ein OnConnect- oder OnDisconnect-Skript enthält und Sie die Secure Firewall ASA zur Bereitstellung von Skripts verwenden, entfernen Sie den Inhalt des Skriptverzeichnisses, und stellen Sie eine VPN-Sitzung wieder her. Wenn der Skriptpfad mehr als ein OnConnect- oder OnDisconnect-Skript enthält und Sie die manuelle Bereitstellungsmethode verwenden, entfernen Sie die unerwünschten Skripts, und stellen Sie eine VPN-Sitzung wieder her.
4. Wenn das Betriebssystem Linux oder MacOS ist, stellen Sie sicher, dass die Skriptdateiberechtigungen auf "Ausführen" gesetzt sind. Wenn die Berechtigung nicht auf "Ausführen" gesetzt ist, können Sie diesen Befehl ausführen, um die Ausführung zu ermöglichen:
$ cd IhrSkriptverzeichnis
$ sudo chmod +755 <Skriptname>
5. Stellen Sie sicher, dass das Skripting im Clientprofil aktiviert ist.
6. Je nachdem, wie Sie Ihr Skript schreiben, benötigen Sie eine Option, um den Fortschritt des Skripts zu protokollieren, zum Beispiel mit der .vbs können Sie objShell.LogEvent verwenden, und dann können Sie in der Ereignisanzeige von Windows überprüfen, ob dies funktioniert hat oder fehlgeschlagen ist:
Verwenden des Skriptbeispiels Skript zum Aktualisieren einer Windows-Gruppenrichtlinie als Beispiel
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
27-Jul-2023 |
Erstveröffentlichung |